{
  "contractName": "ArbitrableDeposit",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "arbitratorExtraData",
      "outputs": [
        {
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "status",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "claimantFee",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_disputeID",
          "type": "uint256"
        },
        {
          "name": "_ruling",
          "type": "uint256"
        }
      ],
      "name": "rule",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "arbitrator",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "timeout",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "claimDepositAmount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "claimAmount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "claimRate",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lastInteraction",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "amount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "disputeID",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "claimant",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ownerFee",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_arbitrator",
          "type": "address"
        },
        {
          "name": "_timeout",
          "type": "uint256"
        },
        {
          "name": "_arbitratorExtraData",
          "type": "bytes"
        },
        {
          "name": "_claimRate",
          "type": "uint256"
        },
        {
          "name": "_metaEvidence",
          "type": "string"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_party",
          "type": "uint8"
        }
      ],
      "name": "HasToPayFee",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_metaEvidenceID",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_evidence",
          "type": "string"
        }
      ],
      "name": "MetaEvidence",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_arbitrator",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_disputeID",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_metaEvidenceID",
          "type": "uint256"
        }
      ],
      "name": "Dispute",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_arbitrator",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_disputeID",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "_party",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_evidence",
          "type": "string"
        }
      ],
      "name": "Evidence",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_arbitrator",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_disputeID",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_ruling",
          "type": "uint256"
        }
      ],
      "name": "Ruling",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "deposit",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_claimAmount",
          "type": "uint256"
        }
      ],
      "name": "makeClaim",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_responseAmount",
          "type": "uint256"
        }
      ],
      "name": "claimResponse",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "payArbitrationFeeByOwner",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "payArbitrationFeeByClaimant",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "timeOutByOwner",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "timeOutByClaimant",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260405162001689380380620016898339810160409081528151602080840151928401516060850151608086015160008054600160a060020a031916600160a060020a0387161790559186018051949690949193920191869185916200006f9160019184019062000178565b5050506004849055600b829055600e805460ff191690556009805434019081905560028054600160a060020a03191633179055604051309180156108fc02916000818181858888f19350505050158015620000ce573d6000803e3d6000fd5b5060007f61606860eb6c87306811e2695215385101daab53bd6ab4e9f9049aead9363c7d826040518080602001828103825283818151815260200191508051906020019080838360005b838110156200013257818101518382015260200162000118565b50505050905090810190601f168015620001605780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050506200021d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b6200021a91905b80821115620001f9576000815560010162000204565b90565b61145c806200022d6000396000f3006080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307c665c1811461012c5780630c7ac7b6146101435780631077f06c146101cd578063200d2ed2146101e55780632e7bb8d21461021e578063311a6c561461024557806360c1f8001461026057806361aab938146102685780636cc6cde11461028057806370dea79a146102b15780637c100247146102c6578063830953ab146102db578063898fdf94146102f05780638da5cb5b146103055780638f71a2651461031a578063a243437b1461032f578063aa8c217c14610337578063b0a1e2b41461034c578063ce008b9f14610361578063d0e30db014610376578063d28720af1461037e578063d5b2a01a14610393575b600080fd5b34801561013857600080fd5b506101416103a8565b005b34801561014f57600080fd5b5061015861052c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019257818101518382015260200161017a565b50505050905090810190601f1680156101bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d957600080fd5b506101416004356105b9565b3480156101f157600080fd5b506101fa61070a565b6040518082600481111561020a57fe5b60ff16815260200191505060405180910390f35b34801561022a57600080fd5b50610233610713565b60408051918252519081900360200190f35b34801561025157600080fd5b50610141600435602435610719565b6101416107e6565b34801561027457600080fd5b50610141600435610abf565b34801561028c57600080fd5b50610295610c23565b60408051600160a060020a039092168252519081900360200190f35b3480156102bd57600080fd5b50610233610c32565b3480156102d257600080fd5b50610233610c38565b3480156102e757600080fd5b50610233610c3e565b3480156102fc57600080fd5b50610233610c44565b34801561031157600080fd5b50610295610c4a565b34801561032657600080fd5b50610233610c59565b610141610c5f565b34801561034357600080fd5b50610233610f29565b34801561035857600080fd5b50610233610f2f565b34801561036d57600080fd5b50610141610f35565b61014161107f565b34801561038a57600080fd5b50610295611105565b34801561039f57600080fd5b50610233611114565b600354600160a060020a03163314610430576040805160e560020a62461bcd02815260206004820152602360248201527f43616e206f6e6c792062652063616c6c65642062792074686520636c61696d6160448201527f6e742e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001600e5460ff16600481111561044357fe5b146104be576040805160e560020a62461bcd02815260206004820152602a60248201527f54686520636f6e7472616374206973206e6f742077616974696e6720666f722060448201527f746865206f776e65722e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b6004546007540142101561051c576040805160e560020a62461bcd02815260206004820152601b60248201527f4e6f7420656e6f7567682074696d6520686173207061737365642e0000000000604482015290519081900360640190fd5b60085461052a90600261111a565b565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505081565b600254600160a060020a031633141561061c576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e6e6f742062652063616c6c656420627920746865206f776e65722e0000604482015290519081900360640190fd5b60095481111561069c576040805160e560020a62461bcd02815260206004820152602960248201527f43616e6e6f7420636c61696d206d6f7265207468616e2077686174206973206460448201527f65706f73697465642e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff191633179055600a819055600b54606490820204600d819055604051309180156108fc02916000818181858888f193505050501580156106f9573d6000803e3d6000fd5b5050600e805460ff19166001179055565b600e5460ff1681565b60065481565b600054600160a060020a031633146107a1576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36107e2828261111a565b5050565b600254600090600160a060020a03163314610839576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea9939192918291604490910190849080156108f45780601f106108c9576101008083540402835291602001916108f4565b820191906000526020600020905b8154815290600101906020018083116108d757829003601f168201915b505092505050602060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050506040513d602081101561093e57600080fd5b50516005805434019081905590915081146109c9576040805160e560020a62461bcd02815260206004820152602660248201527f4f776e657220666565206d75737420657175616c206172626974726174696f6e60448201527f20636f73742e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003600e5460ff1660048111156109dc57fe5b10610a57576040805160e560020a62461bcd02815260206004820152602260248201527f4120646973707574652068617320616c7265616479206265656e20726169736560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600654811115610ab357600e80546002919060ff19166001835b0217905550604080516001815290517fba8db766b5582c21593909b57af48297714ea2c508bfff6c537ce36bb853e5689181900360200190a1610abc565b610abc816112a8565b50565b600254600160a060020a03163314610b0f576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b600d54811115610bb5576040805160e560020a62461bcd02815260206004820152604160248201527f54686520726573706f6e736520616d6f756e742068617320746f206265206c6560448201527f7373207468616e2074686520636c61696d206465706f73697420616d6f756e7460648201527f2e00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600c819055600d54811415610c1b57600354604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610bfe573d6000803e3d6000fd5b506000600a819055600955600e805460ff19166004179055610abc565b610abc6107e6565b600054600160a060020a031681565b60045481565b600d5481565b600a5481565b600b5481565b600254600160a060020a031681565b60075481565b600354600090600160a060020a03163314610cea576040805160e560020a62461bcd02815260206004820152602360248201527f43616e206f6e6c792062652063616c6c65642062792074686520636c61696d6160448201527f6e742e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea993919291829160449091019084908015610da55780601f10610d7a57610100808354040283529160200191610da5565b820191906000526020600020905b815481529060010190602001808311610d8857829003601f168201915b505092505050602060405180830381600087803b158015610dc557600080fd5b505af1158015610dd9573d6000803e3d6000fd5b505050506040513d6020811015610def57600080fd5b5051600680543401908190559091508114610e7a576040805160e560020a62461bcd02815260206004820152602960248201527f436c61696d616e7420666565206d75737420657175616c20617262697472617460448201527f696f6e20636f73742e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003600e5460ff166004811115610e8d57fe5b10610f08576040805160e560020a62461bcd02815260206004820152602260248201527f4120646973707574652068617320616c7265616479206265656e20726169736560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600554811115610ab357600e80546001919060ff19168280610a75565b60095481565b60085481565b600254600160a060020a03163314610f85576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6002600e5460ff166004811115610f9857fe5b14611013576040805160e560020a62461bcd02815260206004820152602d60248201527f54686520636f6e7472616374206973206e6f742077616974696e6720666f722060448201527f74686520636c61696d616e742e00000000000000000000000000000000000000606482015290519081900360840190fd5b60045460075401421015611071576040805160e560020a62461bcd02815260206004820152601b60248201527f4e6f7420656e6f7567682074696d6520686173207061737365642e0000000000604482015290519081900360640190fd5b60085461052a90600161111a565b600254600160a060020a031633146110cf576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6009805434908101909155604051309180156108fc02916000818181858888f19350505050158015610abc573d6000803e3d6000fd5b600354600160a060020a031681565b60055481565b6008548214611173576040805160e560020a62461bcd02815260206004820152601160248201527f57726f6e6720646973707574652049442e000000000000000000000000000000604482015290519081900360640190fd5b60028111156111cc576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c69642072756c696e672e0000000000000000000000000000000000604482015290519081900360640190fd5b600181141561125857600254600a54600954604051600160a060020a0390931692910180156108fc02916000818181858888f19350505050158015611215573d6000803e3d6000fd5b50600354600c54604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015611252573d6000803e3d6000fd5b5061129f565b600281141561129f57600354600954604051600160a060020a039092169181156108fc0291906000818181858888f1935050505015801561129d573d6000803e3d6000fd5b505b50506000600955565b600e805460ff19166003179055600054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260026004820181815260248301938452600180546101008183161502600019011683900460448501819052600160a060020a039096169563c13517e19588959293929091606490910190849080156113785780601f1061134d57610100808354040283529160200191611378565b820191906000526020600020905b81548152906001019060200180831161135b57829003601f168201915b505093505050506020604051808303818588803b15801561139857600080fd5b505af11580156113ac573d6000803e3d6000fd5b50505050506040513d60208110156113c357600080fd5b50516008819055600080546040805192835251600160a060020a03909116917fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d919081900360200190a350560043616e206f6e6c792062652063616c6c656420627920746865206f776e65722ea165627a7a7230582005b3cc5efffbd8ab0bc57b1b9ab5df22770f40a4a568834eab42122dbbabc8940029",
  "deployedBytecode": "0x6080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307c665c1811461012c5780630c7ac7b6146101435780631077f06c146101cd578063200d2ed2146101e55780632e7bb8d21461021e578063311a6c561461024557806360c1f8001461026057806361aab938146102685780636cc6cde11461028057806370dea79a146102b15780637c100247146102c6578063830953ab146102db578063898fdf94146102f05780638da5cb5b146103055780638f71a2651461031a578063a243437b1461032f578063aa8c217c14610337578063b0a1e2b41461034c578063ce008b9f14610361578063d0e30db014610376578063d28720af1461037e578063d5b2a01a14610393575b600080fd5b34801561013857600080fd5b506101416103a8565b005b34801561014f57600080fd5b5061015861052c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019257818101518382015260200161017a565b50505050905090810190601f1680156101bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d957600080fd5b506101416004356105b9565b3480156101f157600080fd5b506101fa61070a565b6040518082600481111561020a57fe5b60ff16815260200191505060405180910390f35b34801561022a57600080fd5b50610233610713565b60408051918252519081900360200190f35b34801561025157600080fd5b50610141600435602435610719565b6101416107e6565b34801561027457600080fd5b50610141600435610abf565b34801561028c57600080fd5b50610295610c23565b60408051600160a060020a039092168252519081900360200190f35b3480156102bd57600080fd5b50610233610c32565b3480156102d257600080fd5b50610233610c38565b3480156102e757600080fd5b50610233610c3e565b3480156102fc57600080fd5b50610233610c44565b34801561031157600080fd5b50610295610c4a565b34801561032657600080fd5b50610233610c59565b610141610c5f565b34801561034357600080fd5b50610233610f29565b34801561035857600080fd5b50610233610f2f565b34801561036d57600080fd5b50610141610f35565b61014161107f565b34801561038a57600080fd5b50610295611105565b34801561039f57600080fd5b50610233611114565b600354600160a060020a03163314610430576040805160e560020a62461bcd02815260206004820152602360248201527f43616e206f6e6c792062652063616c6c65642062792074686520636c61696d6160448201527f6e742e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001600e5460ff16600481111561044357fe5b146104be576040805160e560020a62461bcd02815260206004820152602a60248201527f54686520636f6e7472616374206973206e6f742077616974696e6720666f722060448201527f746865206f776e65722e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b6004546007540142101561051c576040805160e560020a62461bcd02815260206004820152601b60248201527f4e6f7420656e6f7567682074696d6520686173207061737365642e0000000000604482015290519081900360640190fd5b60085461052a90600261111a565b565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505081565b600254600160a060020a031633141561061c576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e6e6f742062652063616c6c656420627920746865206f776e65722e0000604482015290519081900360640190fd5b60095481111561069c576040805160e560020a62461bcd02815260206004820152602960248201527f43616e6e6f7420636c61696d206d6f7265207468616e2077686174206973206460448201527f65706f73697465642e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff191633179055600a819055600b54606490820204600d819055604051309180156108fc02916000818181858888f193505050501580156106f9573d6000803e3d6000fd5b5050600e805460ff19166001179055565b600e5460ff1681565b60065481565b600054600160a060020a031633146107a1576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36107e2828261111a565b5050565b600254600090600160a060020a03163314610839576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea9939192918291604490910190849080156108f45780601f106108c9576101008083540402835291602001916108f4565b820191906000526020600020905b8154815290600101906020018083116108d757829003601f168201915b505092505050602060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050506040513d602081101561093e57600080fd5b50516005805434019081905590915081146109c9576040805160e560020a62461bcd02815260206004820152602660248201527f4f776e657220666565206d75737420657175616c206172626974726174696f6e60448201527f20636f73742e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003600e5460ff1660048111156109dc57fe5b10610a57576040805160e560020a62461bcd02815260206004820152602260248201527f4120646973707574652068617320616c7265616479206265656e20726169736560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600654811115610ab357600e80546002919060ff19166001835b0217905550604080516001815290517fba8db766b5582c21593909b57af48297714ea2c508bfff6c537ce36bb853e5689181900360200190a1610abc565b610abc816112a8565b50565b600254600160a060020a03163314610b0f576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b600d54811115610bb5576040805160e560020a62461bcd02815260206004820152604160248201527f54686520726573706f6e736520616d6f756e742068617320746f206265206c6560448201527f7373207468616e2074686520636c61696d206465706f73697420616d6f756e7460648201527f2e00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600c819055600d54811415610c1b57600354604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610bfe573d6000803e3d6000fd5b506000600a819055600955600e805460ff19166004179055610abc565b610abc6107e6565b600054600160a060020a031681565b60045481565b600d5481565b600a5481565b600b5481565b600254600160a060020a031681565b60075481565b600354600090600160a060020a03163314610cea576040805160e560020a62461bcd02815260206004820152602360248201527f43616e206f6e6c792062652063616c6c65642062792074686520636c61696d6160448201527f6e742e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea993919291829160449091019084908015610da55780601f10610d7a57610100808354040283529160200191610da5565b820191906000526020600020905b815481529060010190602001808311610d8857829003601f168201915b505092505050602060405180830381600087803b158015610dc557600080fd5b505af1158015610dd9573d6000803e3d6000fd5b505050506040513d6020811015610def57600080fd5b5051600680543401908190559091508114610e7a576040805160e560020a62461bcd02815260206004820152602960248201527f436c61696d616e7420666565206d75737420657175616c20617262697472617460448201527f696f6e20636f73742e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003600e5460ff166004811115610e8d57fe5b10610f08576040805160e560020a62461bcd02815260206004820152602260248201527f4120646973707574652068617320616c7265616479206265656e20726169736560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600554811115610ab357600e80546001919060ff19168280610a75565b60095481565b60085481565b600254600160a060020a03163314610f85576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6002600e5460ff166004811115610f9857fe5b14611013576040805160e560020a62461bcd02815260206004820152602d60248201527f54686520636f6e7472616374206973206e6f742077616974696e6720666f722060448201527f74686520636c61696d616e742e00000000000000000000000000000000000000606482015290519081900360840190fd5b60045460075401421015611071576040805160e560020a62461bcd02815260206004820152601b60248201527f4e6f7420656e6f7567682074696d6520686173207061737365642e0000000000604482015290519081900360640190fd5b60085461052a90600161111a565b600254600160a060020a031633146110cf576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6009805434908101909155604051309180156108fc02916000818181858888f19350505050158015610abc573d6000803e3d6000fd5b600354600160a060020a031681565b60055481565b6008548214611173576040805160e560020a62461bcd02815260206004820152601160248201527f57726f6e6720646973707574652049442e000000000000000000000000000000604482015290519081900360640190fd5b60028111156111cc576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c69642072756c696e672e0000000000000000000000000000000000604482015290519081900360640190fd5b600181141561125857600254600a54600954604051600160a060020a0390931692910180156108fc02916000818181858888f19350505050158015611215573d6000803e3d6000fd5b50600354600c54604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015611252573d6000803e3d6000fd5b5061129f565b600281141561129f57600354600954604051600160a060020a039092169181156108fc0291906000818181858888f1935050505015801561129d573d6000803e3d6000fd5b505b50506000600955565b600e805460ff19166003179055600054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260026004820181815260248301938452600180546101008183161502600019011683900460448501819052600160a060020a039096169563c13517e19588959293929091606490910190849080156113785780601f1061134d57610100808354040283529160200191611378565b820191906000526020600020905b81548152906001019060200180831161135b57829003601f168201915b505093505050506020604051808303818588803b15801561139857600080fd5b505af11580156113ac573d6000803e3d6000fd5b50505050506040513d60208110156113c357600080fd5b50516008819055600080546040805192835251600160a060020a03909116917fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d919081900360200190a350560043616e206f6e6c792062652063616c6c656420627920746865206f776e65722ea165627a7a7230582005b3cc5efffbd8ab0bc57b1b9ab5df22770f40a4a568834eab42122dbbabc8940029",
  "sourceMap": "652:8183:3:-;;;2735:469;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2848:10:2;:24;;-1:-1:-1;;;;;;2848:24:2;-1:-1:-1;;;;;2848:24:2;;;;;2735:469:3;;;2882:42:2;;2735:469:3;;;;;;;;;;;;;2882:42:2;;-1:-1:-1;;2882:42:2;;;;:::i;:::-;-1:-1:-1;;;2970:7:3;:18;;;2998:9;:22;;;3030:6;:25;;-1:-1:-1;;3030:25:3;;;3065:6;:19;;3075:9;3065:19;;;;;-1:-1:-1;3094:18:3;;-1:-1:-1;;;;;;3094:18:3;3102:10;3094:18;;;3122:30;;3130:4;;3122:30;;;;;-1:-1:-1;3122:30:3;-1:-1:-1;3122:30:3;3065:19;3130:4;3122:30;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3122:30:3;3180:1;3167:30;3183:13;3167:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3167:30:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:469;;;;;652:8183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;652:8183:3;;;-1:-1:-1;652:8183:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "652:8183:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7765:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7765:282:3;;;;;;691:32:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3593:371:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3593:371:3;;;;;1587:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1587:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;933:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:23:3;;;;;;;;;;;;;;;;;;;;3332:182:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3332:182:2;;;;;;;5017:888:3;;;;4168:501;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4168:501:3;;;;;657:28:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:28:2;;;;;;;;-1:-1:-1;;;;;657:28:2;;;;;;;;;;;;;;754:19:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;754:19:3;;;;1424:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1424:30:3;;;;1165:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1165:23:3;;;;1231:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1231:21:3;;;;699:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;699:20:3;;;;998:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;998:27:3;;;;6082:881;;;;1105:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1105:18:3;;;;1078:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1078:21:3;;;;7416:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7416:278:3;;;;3303:123;;;;725:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;725:23:3;;;;874:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;874:20:3;;;;7765:282;2132:8;;-1:-1:-1;;;;;2132:8:3;2110:10;:31;2102:79;;;;;-1:-1:-1;;;;;2102:79:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7842:19;7832:6;;;;:29;;;;;;;;;7824:84;;;;;-1:-1:-1;;;;;7824:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7951:7;;7933:15;;:25;7926:3;:32;;7918:72;;;;;-1:-1:-1;;;;;7918:72:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;8015:9;;8001:39;;1722:1;8001:13;:39::i;:::-;7765:282::o;691:32:2:-;;;;;;;;;;;;;;;-1:-1:-1;;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3593:371:3:-;2029:5;;-1:-1:-1;;;;;2029:5:3;2007:10;:28;;1999:71;;;;;-1:-1:-1;;;;;1999:71:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;3685:6;;3669:22;;;3661:76;;;;;-1:-1:-1;;;;;3661:76:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3747:8;:21;;-1:-1:-1;;3747:21:3;3758:10;3747:21;;;3778:11;:26;;;3851:9;;3864:3;;3836:24;;3835:32;3814:18;:53;;;3877:42;;3885:4;;3877:42;;;;;;;;;3835:32;3885:4;3877:42;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3929:6:3;:28;;-1:-1:-1;;3929:28:3;3938:19;3929:28;;;3593:371::o;1587:20::-;;;;;;:::o;933:23::-;;;;:::o;3332:182:2:-;851:10;;-1:-1:-1;;;;;851:10:2;829;:33;821:83;;;;;-1:-1:-1;;;;;821:83:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:49;;;;;;;;3444:10;;3432;;3414:49;;;;;;;;;3474:33;3488:10;3499:7;3474:13;:33::i;:::-;3332:182;;:::o;5017:888:3:-;1924:5;;5087:20;;-1:-1:-1;;;;;1924:5:3;1902:10;:28;1894:73;;;;;-1:-1:-1;;;;;1894:73:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1894:73:3;;;;;;;;;;;;;;;5110:10;;:47;;;;;;;;;;;;:10;:47;;;-1:-1:-1;;5110:47:3;;;;:10;:47;;;;;;;;;;;;-1:-1:-1;;;;;5110:10:3;;;;:26;;:10;;:47;;;;;;;;:10;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5110:47:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5110:47:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5110:47:3;5167:8;:21;;5179:9;5167:21;;;;;5110:47;;-1:-1:-1;5275:27:3;;5267:78;;;;;-1:-1:-1;;;;;5267:78:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5372:21;5363:6;;;;:30;;;;;;;;;5355:77;;;;;-1:-1:-1;;;;;5355:77:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:3;5492:15;:21;5527:11;;:29;-1:-1:-1;5523:376:3;;;5690:6;:31;;5699:22;;5690:6;-1:-1:-1;;5690:31:3;;5699:22;5690:31;;;;;-1:-1:-1;5740:27:3;;;5752:14;5740:27;;;;;;;;;;;;;5523:376;;;5859:29;5872:15;5859:12;:29::i;:::-;5017:888;:::o;4168:501::-;1924:5;;-1:-1:-1;;;;;1924:5:3;1902:10;:28;1894:73;;;;;-1:-1:-1;;;;;1894:73:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1894:73:3;;;;;;;;;;;;;;;4267:18;;4248:37;;;4240:115;;;;;-1:-1:-1;;;;;4240:115:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4365:19;:37;;;4435:18;;4416:37;;4412:251;;;4469:8;;:34;;-1:-1:-1;;;;;4469:8:3;;;;:34;;;;;4487:15;;4469:8;:34;:8;:34;4487:15;4469:8;:34;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;4531:1:3;4517:11;:15;;;4546:6;:10;4570:6;:24;;-1:-1:-1;;4570:24:3;4579:15;4570:24;;;4412:251;;;4626:26;:24;:26::i;657:28:2:-;;;-1:-1:-1;;;;;657:28:2;;:::o;754:19:3:-;;;;:::o;1424:30::-;;;;:::o;1165:23::-;;;;:::o;1231:21::-;;;;:::o;699:20::-;;;-1:-1:-1;;;;;699:20:3;;:::o;998:27::-;;;;:::o;6082:881::-;2132:8;;6159:20;;-1:-1:-1;;;;;2132:8:3;2110:10;:31;2102:79;;;;;-1:-1:-1;;;;;2102:79:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6182:10;;:47;;;;;;;;;;;;:10;:47;;;-1:-1:-1;;6182:47:3;;;;:10;:47;;;;;;;;;;;;-1:-1:-1;;;;;6182:10:3;;;;:26;;:10;;:47;;;;;;;;:10;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6182:47:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6182:47:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6182:47:3;6239:11;:24;;6254:9;6239:24;;;;;6182:47;;-1:-1:-1;6350:30:3;;6342:84;;;;;-1:-1:-1;;;;;6342:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6453:21;6444:6;;;;:30;;;;;;;;;6436:77;;;;;-1:-1:-1;;;;;6436:77:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6591:3;6573:15;:21;6608:8;;:26;-1:-1:-1;6604:353:3;;;6754:6;:28;;6763:19;;6754:6;-1:-1:-1;;6754:28:3;6763:19;;6754:28;;1105:18;;;;:::o;1078:21::-;;;;:::o;7416:278::-;1924:5;;-1:-1:-1;;;;;1924:5:3;1902:10;:28;1894:73;;;;;-1:-1:-1;;;;;1894:73:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1894:73:3;;;;;;;;;;;;;;;7487:22;7477:6;;;;:32;;;;;;;;;7469:90;;;;;-1:-1:-1;;;;;7469:90:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7602:7;;7584:15;;:25;7577:3;:32;;7569:72;;;;;-1:-1:-1;;;;;7569:72:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7666:9;;7652:35;;1684:1;7652:13;:35::i;3303:123::-;1924:5;;-1:-1:-1;;;;;1924:5:3;1902:10;:28;1894:73;;;;;-1:-1:-1;;;;;1894:73:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1894:73:3;;;;;;;;;;;;;;;3357:6;:19;;3367:9;3357:19;;;;;;3386:33;;3394:4;;3386:33;;;;;3357:6;3386:33;3357:6;3386:33;3367:9;3394:4;3386:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;725:23:3;;;-1:-1:-1;;;;;725:23:3;;:::o;874:20::-;;;;:::o;8390:443::-;8485:9;;8471:23;;8463:53;;;;;-1:-1:-1;;;;;8463:53:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1649:1;8534:28;;;8526:56;;;;;-1:-1:-1;;;;;8526:56:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:1;8597:21;;8593:213;;;8634:5;;8658:11;;8649:6;;8634:36;;-1:-1:-1;;;;;8634:5:3;;;;8649:20;;8634:36;;;;;:5;:36;:5;:36;8649:20;8634:5;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8684:8:3;;8702:19;;8684:38;;-1:-1:-1;;;;;8684:8:3;;;;:38;;;;;8702:19;8684:8;:38;:8;:38;8702:19;8684:8;:38;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8684:38:3;8593:213;;;1722:1;8743:24;;8739:67;;;8781:8;;8799:6;;8781:25;;-1:-1:-1;;;;;8781:8:3;;;;:25;;;;;8799:6;8781:8;:25;:8;:25;8799:6;8781:8;:25;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8781:25:3;8739:67;-1:-1:-1;;8825:1:3;8816:6;:10;8390:443::o;7081:258::-;7145:6;:30;;-1:-1:-1;;7145:30:3;7154:21;7145:30;;;-1:-1:-1;7197:10:3;:87;;;;;;1649:1;7197:87;;;;;;;;;;;;7145:30;7197:87;;:10;:87;;;;;-1:-1:-1;;7197:87:3;;;;;;;;;;;-1:-1:-1;;;;;7197:10:3;;;;:24;;7228:16;;7145:30;;7197:87;;;;;;;;7145:30;;7197:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7197:87:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7197:87:3;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7197:87:3;7185:9;:99;;;7307:10;;;7299:33;;;;;;;-1:-1:-1;;;;;7307:10:3;;;;7299:33;;;;;;7197:87;7299:33;;;7081:258;:::o",
  "source": "/**\n *  @title ArbitrableDeposit\n *  @author Luke Hartman - <lhartman3@zagmail.gonzaga.edu>\n *  Bug Bounties: This code hasn't undertaken a bug bounty program yet.\n */\n\n\npragma solidity ^0.4.15;\nimport \"./Arbitrable.sol\";\n\n\n/** @title Arbitrable Deposit\n *  This is a a contract which allow for an owner deposit. Anyone besides the owner can seek arbitration/file a claim as a claimant.\n * To develop a contract inheriting from this one, you need to:\n *  - Redefine RULING_OPTIONS to explain the consequences of the possible rulings.\n *  - Redefine executeRuling while still calling super.executeRuling to implement the results of the arbitration.\n */\ncontract ArbitrableDeposit is Arbitrable {\n    address public owner;\n    address public claimant;\n    uint public timeout; // Time in seconds a party can take before being considered unresponding and lose the dispute.\n    uint public ownerFee; // Total fees paid by the owner.\n    uint public claimantFee; // Total fees paid by the claimant.\n    uint public lastInteraction; // Last interaction for the dispute procedure.\n    uint public disputeID;\n    uint public amount; // Total amount deposited by owner.\n    uint public claimAmount; // Claim amount a claimant proposes.\n    uint public claimRate; // Rate of a claim the claimant must deposit as an integer.\n    uint internal claimResponseAmount; // Amount which the Owner responds to the claimant's asking claim.\n    uint public claimDepositAmount; // Total amount a claimant must deposit.\n\n    enum Status {NoDispute, WaitingOwner, WaitingClaimant, DisputeCreated, Resolved}\n    Status public status;\n\n    uint8 constant AMOUNT_OF_CHOICES = 2;\n    uint8 constant OWNER_WINS = 1;\n    uint8 constant CLAIMANT_WINS = 2;\n    string constant RULING_OPTIONS = \"Owner wins;Claimant wins\"; // A plain English of what rulings do. Need to be redefined by the child class.\n\n    modifier onlyOwner{require(msg.sender == address(owner), \"Can only be called by the owner.\"); _;}\n    modifier onlyNotOwner{require(msg.sender != address(owner), \"Cannot be called by the owner.\"); _;}\n    modifier onlyClaimant{require(msg.sender == address(claimant), \"Can only be called by the claimant.\"); _;}\n\n    enum Party {Owner, Claimant}\n\n    /** @dev Indicate that a party has to pay a fee or would otherwise be considered as loosing.\n     *  @param _party The party who has to pay.\n     */\n    event HasToPayFee(Party _party);\n\n    /** @dev Constructor. Choose the arbitrator\n     *  @param _arbitrator The arbitrator of the contract.\n     *  @param _timeout Time after which a party automatically loose a dispute.\n     *  @param _arbitratorExtraData Extra data for the arbitrator.\n     *  @param _metaEvidence Link to the meta evidence.\n     */\n    constructor(\n        Arbitrator _arbitrator,\n        uint _timeout,\n        bytes _arbitratorExtraData,\n        uint _claimRate,\n        string _metaEvidence\n    ) Arbitrable(_arbitrator, _arbitratorExtraData) public payable {\n        timeout = _timeout;\n        claimRate = _claimRate;\n        status = Status.NoDispute;\n        amount += msg.value;\n        owner = msg.sender;\n        address(this).transfer(amount);\n        emit MetaEvidence(0, _metaEvidence);\n    }\n\n    /** @dev Owner deposit to contract. To be called when the owner makes a deposit.\n     */\n    function deposit() public payable onlyOwner {\n        amount += msg.value;\n        address(this).transfer(msg.value);\n    }\n\n    /** @dev File a claim against owner. To be called when someone makes a claim.\n     *  @param _claimAmount The proposed claim amount by the claimant.\n     */\n    function makeClaim(uint _claimAmount) public onlyNotOwner {\n        require(_claimAmount <= amount, \"Cannot claim more than what is deposited.\");\n        claimant = msg.sender;\n        claimAmount = _claimAmount;\n        claimDepositAmount = (_claimAmount * claimRate) / 100;\n        address(this).transfer(claimDepositAmount);\n        status = Status.WaitingOwner;\n    }\n\n    /** @dev Owner response to claimant. To be called when the owner initates a\n     *  a response.\n     *  @param _responseAmount The counter-offer amount the Owner proposes to a claimant.\n     */\n    function claimResponse(uint _responseAmount) public onlyOwner {\n        require(_responseAmount <= claimDepositAmount, \"The response amount has to be less than the claim deposit amount.\");\n        claimResponseAmount = _responseAmount;\n        if (_responseAmount == claimDepositAmount) {\n            claimant.transfer(_responseAmount);\n            claimAmount = 0;\n            amount = 0;\n            status = Status.Resolved;\n        }  else {\n            payArbitrationFeeByOwner();\n        }\n    }\n\n    /** @dev Pay the arbitration fee to raise a dispute. To be called by the owner. UNTRUSTED.\n     *  Note that the arbitrator can have createDispute throw, which will make this function throw and therefore lead to a party being timed-out.\n     *  This is not a vulnerability as the arbitrator can rule in favor of one party anyway.\n     */\n    function payArbitrationFeeByOwner() public payable onlyOwner{\n        uint arbitrationCost = arbitrator.arbitrationCost(arbitratorExtraData);\n        ownerFee += msg.value;\n        // Require that the total pay at least the arbitration cost.\n        require(ownerFee == arbitrationCost, \"Owner fee must equal arbitration cost.\");\n        require(status < Status.DisputeCreated, \"A dispute has already been raised.\"); // Make sure a dispute has not been created yet.\n\n        lastInteraction = now;\n        if (claimantFee < arbitrationCost) { // The claimant still has to pay.\n        // This can also happens if he has paid, but arbitrationCost has increased.\n            status = Status.WaitingClaimant;\n            emit HasToPayFee(Party.Claimant);\n        } else { // The claimant has also paid the fee. We create the dispute\n            raiseDispute(arbitrationCost);\n        }\n    }\n\n    /** @dev Pay the arbitration fee to raise a dispute. To be called by the claimant. UNTRUSTED.\n     *  Note that this function mirror payArbitrationFeeByOwner.\n     */\n    function payArbitrationFeeByClaimant() public payable onlyClaimant {\n        uint arbitrationCost = arbitrator.arbitrationCost(arbitratorExtraData);\n        claimantFee += msg.value;\n        // Require that the total pay at least the arbitration cost.\n        require(claimantFee == arbitrationCost, \"Claimant fee must equal arbitration cost.\");\n        require(status < Status.DisputeCreated, \"A dispute has already been raised.\"); // Make sure a dispute has not been created yet.\n\n        lastInteraction = now;\n        if (ownerFee < arbitrationCost) { // The owner still has to pay. This can also happens if he has paid, but arbitrationCost has increased.\n            status = Status.WaitingOwner;\n            emit HasToPayFee(Party.Claimant);\n        } else { // The owner has also paid the fee. We create the dispute\n            raiseDispute(arbitrationCost);\n        }\n    }\n\n    /** @dev Create a dispute. UNTRUSTED.\n     *  @param _arbitrationCost Amount to pay the arbitrator.\n     */\n    function raiseDispute(uint _arbitrationCost) internal {\n        status = Status.DisputeCreated;\n        disputeID = arbitrator.createDispute.value(_arbitrationCost)(AMOUNT_OF_CHOICES,arbitratorExtraData);\n        emit Dispute(arbitrator, disputeID, 0);\n    }\n\n    /** @dev Reimburse owner if claimant fails to pay the fee.\n     */\n    function timeOutByOwner() public onlyOwner {\n        require(status == Status.WaitingClaimant, \"The contract is not waiting for the claimant.\");\n        require(now >= lastInteraction + timeout, \"Not enough time has passed.\");\n\n        executeRuling(disputeID,OWNER_WINS);\n    }\n\n    /** @dev Pay claimant if owner fails to pay the fee.\n     */\n    function timeOutByClaimant() public onlyClaimant {\n        require(status == Status.WaitingOwner, \"The contract is not waiting for the owner.\");\n        require(now >= lastInteraction + timeout, \"Not enough time has passed.\");\n\n        executeRuling(disputeID, CLAIMANT_WINS);\n    }\n\n    /** @dev Execute a ruling of a dispute. Pays parties respective amounts based on ruling.\n     *  This needs to be extended by contract inheriting from it.\n     *  @param _disputeID ID of the dispute in the Arbitrator contract.\n     *  @param _ruling Ruling given by the arbitrator. 1 : Allow owner deposit. 2 : Pay claimant.\n     */\n    function executeRuling(uint _disputeID, uint _ruling) internal {\n        require(_disputeID == disputeID, \"Wrong dispute ID.\");\n        require(_ruling <= AMOUNT_OF_CHOICES, \"Invalid ruling.\");\n\n        if (_ruling == OWNER_WINS) {\n            owner.transfer(amount + claimAmount);\n            claimant.transfer(claimResponseAmount);\n        } else if (_ruling == CLAIMANT_WINS)\n            claimant.transfer(amount);\n        amount = 0;\n    }\n}\n",
  "sourcePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/ArbitrableDeposit.sol",
  "ast": {
    "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/ArbitrableDeposit.sol",
    "exportedSymbols": {
      "ArbitrableDeposit": [
        1111
      ]
    },
    "id": 1112,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 597,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".15"
        ],
        "nodeType": "PragmaDirective",
        "src": "170:24:3"
      },
      {
        "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/Arbitrable.sol",
        "file": "./Arbitrable.sol",
        "id": 598,
        "nodeType": "ImportDirective",
        "scope": 1112,
        "sourceUnit": 596,
        "src": "195:26:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 599,
              "name": "Arbitrable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 595,
              "src": "682:10:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Arbitrable_$595",
                "typeString": "contract Arbitrable"
              }
            },
            "id": 600,
            "nodeType": "InheritanceSpecifier",
            "src": "682:10:3"
          }
        ],
        "contractDependencies": [
          595
        ],
        "contractKind": "contract",
        "documentation": "@title Arbitrable Deposit\n This is a a contract which allow for an owner deposit. Anyone besides the owner can seek arbitration/file a claim as a claimant.\nTo develop a contract inheriting from this one, you need to:\n - Redefine RULING_OPTIONS to explain the consequences of the possible rulings.\n - Redefine executeRuling while still calling super.executeRuling to implement the results of the arbitration.",
        "fullyImplemented": true,
        "id": 1111,
        "linearizedBaseContracts": [
          1111,
          595
        ],
        "name": "ArbitrableDeposit",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 602,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "699:20:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 601,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "699:7:3",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 604,
            "name": "claimant",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "725:23:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 603,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "725:7:3",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 606,
            "name": "timeout",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "754:19:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 605,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "754:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 608,
            "name": "ownerFee",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "874:20:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 607,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "874:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 610,
            "name": "claimantFee",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "933:23:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 609,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "933:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 612,
            "name": "lastInteraction",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "998:27:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 611,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "998:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 614,
            "name": "disputeID",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1078:21:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 613,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1078:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 616,
            "name": "amount",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1105:18:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 615,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1105:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 618,
            "name": "claimAmount",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1165:23:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 617,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1165:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 620,
            "name": "claimRate",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1231:21:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 619,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1231:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 622,
            "name": "claimResponseAmount",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1318:33:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 621,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1318:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 624,
            "name": "claimDepositAmount",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1424:30:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 623,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1424:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "canonicalName": "ArbitrableDeposit.Status",
            "id": 630,
            "members": [
              {
                "id": 625,
                "name": "NoDispute",
                "nodeType": "EnumValue",
                "src": "1515:9:3"
              },
              {
                "id": 626,
                "name": "WaitingOwner",
                "nodeType": "EnumValue",
                "src": "1526:12:3"
              },
              {
                "id": 627,
                "name": "WaitingClaimant",
                "nodeType": "EnumValue",
                "src": "1540:15:3"
              },
              {
                "id": 628,
                "name": "DisputeCreated",
                "nodeType": "EnumValue",
                "src": "1557:14:3"
              },
              {
                "id": 629,
                "name": "Resolved",
                "nodeType": "EnumValue",
                "src": "1573:8:3"
              }
            ],
            "name": "Status",
            "nodeType": "EnumDefinition",
            "src": "1502:80:3"
          },
          {
            "constant": false,
            "id": 632,
            "name": "status",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1587:20:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_enum$_Status_$630",
              "typeString": "enum ArbitrableDeposit.Status"
            },
            "typeName": {
              "contractScope": null,
              "id": 631,
              "name": "Status",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 630,
              "src": "1587:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_Status_$630",
                "typeString": "enum ArbitrableDeposit.Status"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 635,
            "name": "AMOUNT_OF_CHOICES",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1614:36:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 633,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1614:5:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "32",
              "id": 634,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1649:1:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2_by_1",
                "typeString": "int_const 2"
              },
              "value": "2"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 638,
            "name": "OWNER_WINS",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1656:29:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 636,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1656:5:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31",
              "id": 637,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1684:1:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1_by_1",
                "typeString": "int_const 1"
              },
              "value": "1"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 641,
            "name": "CLAIMANT_WINS",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1691:32:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 639,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1691:5:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "32",
              "id": 640,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1722:1:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2_by_1",
                "typeString": "int_const 2"
              },
              "value": "2"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 644,
            "name": "RULING_OPTIONS",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1729:59:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 642,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1729:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4f776e65722077696e733b436c61696d616e742077696e73",
              "id": 643,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1762:26:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_033cfec2fb1157f3298b564805cb381aa5a1e85b2c8b3664c638fe2c07222023",
                "typeString": "literal_string \"Owner wins;Claimant wins\""
              },
              "value": "Owner wins;Claimant wins"
            },
            "visibility": "internal"
          },
          {
            "body": {
              "id": 657,
              "nodeType": "Block",
              "src": "1893:79:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 647,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20639,
                            "src": "1902:3:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 648,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1902:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 650,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 602,
                              "src": "1924:5:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 649,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1916:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 651,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1916:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1902:28:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e",
                        "id": 653,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1932:34:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_bf33d29683e5562cfb7e5d7016dc68533d604c99c45e8c622ac0ad8361611bfa",
                          "typeString": "literal_string \"Can only be called by the owner.\""
                        },
                        "value": "Can only be called by the owner."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_bf33d29683e5562cfb7e5d7016dc68533d604c99c45e8c622ac0ad8361611bfa",
                          "typeString": "literal_string \"Can only be called by the owner.\""
                        }
                      ],
                      "id": 646,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "1894:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 654,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1894:73:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 655,
                  "nodeType": "ExpressionStatement",
                  "src": "1894:73:3"
                },
                {
                  "id": 656,
                  "nodeType": "PlaceholderStatement",
                  "src": "1969:1:3"
                }
              ]
            },
            "documentation": null,
            "id": 658,
            "name": "onlyOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 645,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1893:0:3"
            },
            "src": "1875:97:3",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 671,
              "nodeType": "Block",
              "src": "1998:77:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 666,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 661,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20639,
                            "src": "2007:3:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 662,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2007:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 664,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 602,
                              "src": "2029:5:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 663,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2021:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 665,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2021:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2007:28:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e6e6f742062652063616c6c656420627920746865206f776e65722e",
                        "id": 667,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2037:32:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_aa3392aa480c454b8b1a0d19741803a12190550f200b3e3e4ec8ff7885026a89",
                          "typeString": "literal_string \"Cannot be called by the owner.\""
                        },
                        "value": "Cannot be called by the owner."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_aa3392aa480c454b8b1a0d19741803a12190550f200b3e3e4ec8ff7885026a89",
                          "typeString": "literal_string \"Cannot be called by the owner.\""
                        }
                      ],
                      "id": 660,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "1999:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 668,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1999:71:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 669,
                  "nodeType": "ExpressionStatement",
                  "src": "1999:71:3"
                },
                {
                  "id": 670,
                  "nodeType": "PlaceholderStatement",
                  "src": "2072:1:3"
                }
              ]
            },
            "documentation": null,
            "id": 672,
            "name": "onlyNotOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 659,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1998:0:3"
            },
            "src": "1977:98:3",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 685,
              "nodeType": "Block",
              "src": "2101:85:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 680,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 675,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20639,
                            "src": "2110:3:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 676,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2110:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 678,
                              "name": "claimant",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 604,
                              "src": "2132:8:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 677,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2124:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 679,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2124:17:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2110:31:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e206f6e6c792062652063616c6c65642062792074686520636c61696d616e742e",
                        "id": 681,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2143:37:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3e97f4d228b984a36b6e8f7c72acb391612cfef6f8cd2c327c99d410920a50d8",
                          "typeString": "literal_string \"Can only be called by the claimant.\""
                        },
                        "value": "Can only be called by the claimant."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3e97f4d228b984a36b6e8f7c72acb391612cfef6f8cd2c327c99d410920a50d8",
                          "typeString": "literal_string \"Can only be called by the claimant.\""
                        }
                      ],
                      "id": 674,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "2102:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 682,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2102:79:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 683,
                  "nodeType": "ExpressionStatement",
                  "src": "2102:79:3"
                },
                {
                  "id": 684,
                  "nodeType": "PlaceholderStatement",
                  "src": "2183:1:3"
                }
              ]
            },
            "documentation": null,
            "id": 686,
            "name": "onlyClaimant",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 673,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2101:0:3"
            },
            "src": "2080:106:3",
            "visibility": "internal"
          },
          {
            "canonicalName": "ArbitrableDeposit.Party",
            "id": 689,
            "members": [
              {
                "id": 687,
                "name": "Owner",
                "nodeType": "EnumValue",
                "src": "2204:5:3"
              },
              {
                "id": 688,
                "name": "Claimant",
                "nodeType": "EnumValue",
                "src": "2211:8:3"
              }
            ],
            "name": "Party",
            "nodeType": "EnumDefinition",
            "src": "2192:28:3"
          },
          {
            "anonymous": false,
            "documentation": "@dev Indicate that a party has to pay a fee or would otherwise be considered as loosing.\n @param _party The party who has to pay.",
            "id": 693,
            "name": "HasToPayFee",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 692,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 691,
                  "indexed": false,
                  "name": "_party",
                  "nodeType": "VariableDeclaration",
                  "scope": 693,
                  "src": "2397:12:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Party_$689",
                    "typeString": "enum ArbitrableDeposit.Party"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 690,
                    "name": "Party",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 689,
                    "src": "2397:5:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Party_$689",
                      "typeString": "enum ArbitrableDeposit.Party"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2396:14:3"
            },
            "src": "2379:32:3"
          },
          {
            "body": {
              "id": 745,
              "nodeType": "Block",
              "src": "2960:244:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 712,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 710,
                      "name": "timeout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 606,
                      "src": "2970:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 711,
                      "name": "_timeout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 697,
                      "src": "2980:8:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2970:18:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 713,
                  "nodeType": "ExpressionStatement",
                  "src": "2970:18:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 716,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 714,
                      "name": "claimRate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 620,
                      "src": "2998:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 715,
                      "name": "_claimRate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 701,
                      "src": "3010:10:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2998:22:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 717,
                  "nodeType": "ExpressionStatement",
                  "src": "2998:22:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 721,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 718,
                      "name": "status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 632,
                      "src": "3030:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 719,
                        "name": "Status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 630,
                        "src": "3039:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                          "typeString": "type(enum ArbitrableDeposit.Status)"
                        }
                      },
                      "id": 720,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "NoDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3039:16:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "src": "3030:25:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Status_$630",
                      "typeString": "enum ArbitrableDeposit.Status"
                    }
                  },
                  "id": 722,
                  "nodeType": "ExpressionStatement",
                  "src": "3030:25:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 726,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 723,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 616,
                      "src": "3065:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 724,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "3075:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 725,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3075:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3065:19:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 727,
                  "nodeType": "ExpressionStatement",
                  "src": "3065:19:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 731,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 728,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 602,
                      "src": "3094:5:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 729,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "3102:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 730,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3102:10:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3094:18:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 732,
                  "nodeType": "ExpressionStatement",
                  "src": "3094:18:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 737,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 616,
                        "src": "3145:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 734,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20662,
                            "src": "3130:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          ],
                          "id": 733,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "3122:7:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 735,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3122:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 736,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3122:22:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 738,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3122:30:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 739,
                  "nodeType": "ExpressionStatement",
                  "src": "3122:30:3"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3180:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "id": 742,
                        "name": "_metaEvidence",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 703,
                        "src": "3183:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 740,
                      "name": "MetaEvidence",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 521,
                      "src": "3167:12:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,string memory)"
                      }
                    },
                    "id": 743,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3167:30:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 744,
                  "nodeType": "EmitStatement",
                  "src": "3162:35:3"
                }
              ]
            },
            "documentation": "@dev Constructor. Choose the arbitrator\n @param _arbitrator The arbitrator of the contract.\n @param _timeout Time after which a party automatically loose a dispute.\n @param _arbitratorExtraData Extra data for the arbitrator.\n @param _metaEvidence Link to the meta evidence.",
            "id": 746,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 706,
                    "name": "_arbitrator",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 695,
                    "src": "2910:11:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Arbitrator_$4021",
                      "typeString": "contract Arbitrator"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 707,
                    "name": "_arbitratorExtraData",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 699,
                    "src": "2923:20:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  }
                ],
                "id": 708,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 705,
                  "name": "Arbitrable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 595,
                  "src": "2899:10:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_Arbitrable_$595_$",
                    "typeString": "type(contract Arbitrable)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2899:45:3"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 704,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 695,
                  "name": "_arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2756:22:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Arbitrator_$4021",
                    "typeString": "contract Arbitrator"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 694,
                    "name": "Arbitrator",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4021,
                    "src": "2756:10:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Arbitrator_$4021",
                      "typeString": "contract Arbitrator"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 697,
                  "name": "_timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2788:13:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 696,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2788:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 699,
                  "name": "_arbitratorExtraData",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2811:26:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 698,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2811:5:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 701,
                  "name": "_claimRate",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2847:15:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 700,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2847:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 703,
                  "name": "_metaEvidence",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2872:20:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 702,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2872:6:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2746:152:3"
            },
            "payable": true,
            "returnParameters": {
              "id": 709,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2960:0:3"
            },
            "scope": 1111,
            "src": "2735:469:3",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 764,
              "nodeType": "Block",
              "src": "3347:79:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 754,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 751,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 616,
                      "src": "3357:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 752,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "3367:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 753,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3367:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3357:19:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 755,
                  "nodeType": "ExpressionStatement",
                  "src": "3357:19:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 760,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20639,
                          "src": "3409:3:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 761,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "3409:9:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 757,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20662,
                            "src": "3394:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          ],
                          "id": 756,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "3386:7:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 758,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3386:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 759,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3386:22:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 762,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3386:33:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 763,
                  "nodeType": "ExpressionStatement",
                  "src": "3386:33:3"
                }
              ]
            },
            "documentation": "@dev Owner deposit to contract. To be called when the owner makes a deposit.",
            "id": 765,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 749,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 748,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 658,
                  "src": "3337:9:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3337:9:3"
              }
            ],
            "name": "deposit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 747,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3319:2:3"
            },
            "payable": true,
            "returnParameters": {
              "id": 750,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3347:0:3"
            },
            "scope": 1111,
            "src": "3303:123:3",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 809,
              "nodeType": "Block",
              "src": "3651:313:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 775,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 773,
                          "name": "_claimAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 767,
                          "src": "3669:12:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 774,
                          "name": "amount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 616,
                          "src": "3685:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "3669:22:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e6e6f7420636c61696d206d6f7265207468616e2077686174206973206465706f73697465642e",
                        "id": 776,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3693:43:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3bc51fea8893edce1bb0bf2d7870a353e6097d76d80c508369402dac4e6ca908",
                          "typeString": "literal_string \"Cannot claim more than what is deposited.\""
                        },
                        "value": "Cannot claim more than what is deposited."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3bc51fea8893edce1bb0bf2d7870a353e6097d76d80c508369402dac4e6ca908",
                          "typeString": "literal_string \"Cannot claim more than what is deposited.\""
                        }
                      ],
                      "id": 772,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "3661:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 777,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3661:76:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 778,
                  "nodeType": "ExpressionStatement",
                  "src": "3661:76:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 782,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 779,
                      "name": "claimant",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 604,
                      "src": "3747:8:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 780,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "3758:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 781,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3758:10:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3747:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 783,
                  "nodeType": "ExpressionStatement",
                  "src": "3747:21:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 786,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 784,
                      "name": "claimAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 618,
                      "src": "3778:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 785,
                      "name": "_claimAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 767,
                      "src": "3792:12:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3778:26:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 787,
                  "nodeType": "ExpressionStatement",
                  "src": "3778:26:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 795,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 788,
                      "name": "claimDepositAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 624,
                      "src": "3814:18:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 794,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 791,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 789,
                              "name": "_claimAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 767,
                              "src": "3836:12:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "*",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 790,
                              "name": "claimRate",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 620,
                              "src": "3851:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "3836:24:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "id": 792,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "3835:26:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "/",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "313030",
                        "id": 793,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3864:3:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100_by_1",
                          "typeString": "int_const 100"
                        },
                        "value": "100"
                      },
                      "src": "3835:32:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3814:53:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 796,
                  "nodeType": "ExpressionStatement",
                  "src": "3814:53:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 801,
                        "name": "claimDepositAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 624,
                        "src": "3900:18:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 798,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20662,
                            "src": "3885:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          ],
                          "id": 797,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "3877:7:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 799,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3877:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 800,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3877:22:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 802,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3877:42:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 803,
                  "nodeType": "ExpressionStatement",
                  "src": "3877:42:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 807,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 804,
                      "name": "status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 632,
                      "src": "3929:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 805,
                        "name": "Status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 630,
                        "src": "3938:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                          "typeString": "type(enum ArbitrableDeposit.Status)"
                        }
                      },
                      "id": 806,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "WaitingOwner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3938:19:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "src": "3929:28:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Status_$630",
                      "typeString": "enum ArbitrableDeposit.Status"
                    }
                  },
                  "id": 808,
                  "nodeType": "ExpressionStatement",
                  "src": "3929:28:3"
                }
              ]
            },
            "documentation": "@dev File a claim against owner. To be called when someone makes a claim.\n @param _claimAmount The proposed claim amount by the claimant.",
            "id": 810,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 770,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 769,
                  "name": "onlyNotOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 672,
                  "src": "3638:12:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3638:12:3"
              }
            ],
            "name": "makeClaim",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 768,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 767,
                  "name": "_claimAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 810,
                  "src": "3612:17:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 766,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3612:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3611:19:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 771,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3651:0:3"
            },
            "scope": 1111,
            "src": "3593:371:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 856,
              "nodeType": "Block",
              "src": "4230:439:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 820,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 818,
                          "name": "_responseAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 812,
                          "src": "4248:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 819,
                          "name": "claimDepositAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 624,
                          "src": "4267:18:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "4248:37:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "54686520726573706f6e736520616d6f756e742068617320746f206265206c657373207468616e2074686520636c61696d206465706f73697420616d6f756e742e",
                        "id": 821,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4287:67:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5156c7ae1f4fbb45fb3ada1c6259b36702f8ee523444c8c1192cd015a8c46ba8",
                          "typeString": "literal_string \"The response amount has to be less than the claim deposit amount.\""
                        },
                        "value": "The response amount has to be less than the claim deposit amount."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5156c7ae1f4fbb45fb3ada1c6259b36702f8ee523444c8c1192cd015a8c46ba8",
                          "typeString": "literal_string \"The response amount has to be less than the claim deposit amount.\""
                        }
                      ],
                      "id": 817,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "4240:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 822,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4240:115:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 823,
                  "nodeType": "ExpressionStatement",
                  "src": "4240:115:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 824,
                      "name": "claimResponseAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 622,
                      "src": "4365:19:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 825,
                      "name": "_responseAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 812,
                      "src": "4387:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4365:37:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 827,
                  "nodeType": "ExpressionStatement",
                  "src": "4365:37:3"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 830,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 828,
                      "name": "_responseAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 812,
                      "src": "4416:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 829,
                      "name": "claimDepositAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 624,
                      "src": "4435:18:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4416:37:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 854,
                    "nodeType": "Block",
                    "src": "4612:51:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 851,
                            "name": "payArbitrationFeeByOwner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 914,
                            "src": "4626:24:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                              "typeString": "function ()"
                            }
                          },
                          "id": 852,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4626:26:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 853,
                        "nodeType": "ExpressionStatement",
                        "src": "4626:26:3"
                      }
                    ]
                  },
                  "id": 855,
                  "nodeType": "IfStatement",
                  "src": "4412:251:3",
                  "trueBody": {
                    "id": 850,
                    "nodeType": "Block",
                    "src": "4455:150:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 834,
                              "name": "_responseAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 812,
                              "src": "4487:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 831,
                              "name": "claimant",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 604,
                              "src": "4469:8:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 833,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "transfer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4469:17:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 835,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4469:34:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 836,
                        "nodeType": "ExpressionStatement",
                        "src": "4469:34:3"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 839,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 837,
                            "name": "claimAmount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 618,
                            "src": "4517:11:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 838,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4531:1:3",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4517:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 840,
                        "nodeType": "ExpressionStatement",
                        "src": "4517:15:3"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 843,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 841,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 616,
                            "src": "4546:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 842,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4555:1:3",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4546:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 844,
                        "nodeType": "ExpressionStatement",
                        "src": "4546:10:3"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 848,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 845,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 632,
                            "src": "4570:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 846,
                              "name": "Status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 630,
                              "src": "4579:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                                "typeString": "type(enum ArbitrableDeposit.Status)"
                              }
                            },
                            "id": 847,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "Resolved",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4579:15:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "src": "4570:24:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "id": 849,
                        "nodeType": "ExpressionStatement",
                        "src": "4570:24:3"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@dev Owner response to claimant. To be called when the owner initates a\n a response.\n @param _responseAmount The counter-offer amount the Owner proposes to a claimant.",
            "id": 857,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 815,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 814,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 658,
                  "src": "4220:9:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4220:9:3"
              }
            ],
            "name": "claimResponse",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 813,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 812,
                  "name": "_responseAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 857,
                  "src": "4191:20:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 811,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4191:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4190:22:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 816,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4230:0:3"
            },
            "scope": 1111,
            "src": "4168:501:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 913,
              "nodeType": "Block",
              "src": "5077:828:3",
              "statements": [
                {
                  "assignments": [
                    863
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 863,
                      "name": "arbitrationCost",
                      "nodeType": "VariableDeclaration",
                      "scope": 914,
                      "src": "5087:20:3",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 862,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5087:4:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 868,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 866,
                        "name": "arbitratorExtraData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 501,
                        "src": "5137:19:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 864,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 499,
                        "src": "5110:10:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Arbitrator_$4021",
                          "typeString": "contract Arbitrator"
                        }
                      },
                      "id": 865,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "arbitrationCost",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3967,
                      "src": "5110:26:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes memory) view external returns (uint256)"
                      }
                    },
                    "id": 867,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5110:47:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5087:70:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 872,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 869,
                      "name": "ownerFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 608,
                      "src": "5167:8:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 870,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "5179:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 871,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5179:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5167:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 873,
                  "nodeType": "ExpressionStatement",
                  "src": "5167:21:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 877,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 875,
                          "name": "ownerFee",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 608,
                          "src": "5275:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 876,
                          "name": "arbitrationCost",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 863,
                          "src": "5287:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5275:27:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f776e657220666565206d75737420657175616c206172626974726174696f6e20636f73742e",
                        "id": 878,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5304:40:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9831126b72244114f7837bc06172a82965c308e27cdb7446fde66d61614e2574",
                          "typeString": "literal_string \"Owner fee must equal arbitration cost.\""
                        },
                        "value": "Owner fee must equal arbitration cost."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9831126b72244114f7837bc06172a82965c308e27cdb7446fde66d61614e2574",
                          "typeString": "literal_string \"Owner fee must equal arbitration cost.\""
                        }
                      ],
                      "id": 874,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "5267:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 879,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5267:78:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 880,
                  "nodeType": "ExpressionStatement",
                  "src": "5267:78:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$630",
                          "typeString": "enum ArbitrableDeposit.Status"
                        },
                        "id": 885,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 882,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 632,
                          "src": "5363:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 883,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 630,
                            "src": "5372:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                              "typeString": "type(enum ArbitrableDeposit.Status)"
                            }
                          },
                          "id": 884,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "DisputeCreated",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5372:21:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "src": "5363:30:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4120646973707574652068617320616c7265616479206265656e207261697365642e",
                        "id": 886,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5395:36:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
                          "typeString": "literal_string \"A dispute has already been raised.\""
                        },
                        "value": "A dispute has already been raised."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
                          "typeString": "literal_string \"A dispute has already been raised.\""
                        }
                      ],
                      "id": 881,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "5355:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 887,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5355:77:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 888,
                  "nodeType": "ExpressionStatement",
                  "src": "5355:77:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 891,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 889,
                      "name": "lastInteraction",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 612,
                      "src": "5492:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 890,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20641,
                      "src": "5510:3:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5492:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 892,
                  "nodeType": "ExpressionStatement",
                  "src": "5492:21:3"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 895,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 893,
                      "name": "claimantFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 610,
                      "src": "5527:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 894,
                      "name": "arbitrationCost",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 863,
                      "src": "5541:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5527:29:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 911,
                    "nodeType": "Block",
                    "src": "5784:115:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 908,
                              "name": "arbitrationCost",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 863,
                              "src": "5872:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 907,
                            "name": "raiseDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 999,
                            "src": "5859:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 909,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5859:29:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 910,
                        "nodeType": "ExpressionStatement",
                        "src": "5859:29:3"
                      }
                    ]
                  },
                  "id": 912,
                  "nodeType": "IfStatement",
                  "src": "5523:376:3",
                  "trueBody": {
                    "id": 906,
                    "nodeType": "Block",
                    "src": "5558:220:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 899,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 896,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 632,
                            "src": "5690:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 897,
                              "name": "Status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 630,
                              "src": "5699:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                                "typeString": "type(enum ArbitrableDeposit.Status)"
                              }
                            },
                            "id": 898,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "WaitingClaimant",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "5699:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "src": "5690:31:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "id": 900,
                        "nodeType": "ExpressionStatement",
                        "src": "5690:31:3"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 902,
                                "name": "Party",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 689,
                                "src": "5752:5:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_Party_$689_$",
                                  "typeString": "type(enum ArbitrableDeposit.Party)"
                                }
                              },
                              "id": 903,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "Claimant",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "5752:14:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_Party_$689",
                                "typeString": "enum ArbitrableDeposit.Party"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_enum$_Party_$689",
                                "typeString": "enum ArbitrableDeposit.Party"
                              }
                            ],
                            "id": 901,
                            "name": "HasToPayFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 693,
                            "src": "5740:11:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Party_$689_$returns$__$",
                              "typeString": "function (enum ArbitrableDeposit.Party)"
                            }
                          },
                          "id": 904,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5740:27:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 905,
                        "nodeType": "EmitStatement",
                        "src": "5735:32:3"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@dev Pay the arbitration fee to raise a dispute. To be called by the owner. UNTRUSTED.\n Note that the arbitrator can have createDispute throw, which will make this function throw and therefore lead to a party being timed-out.\n This is not a vulnerability as the arbitrator can rule in favor of one party anyway.",
            "id": 914,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 860,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 859,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 658,
                  "src": "5068:9:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "5068:9:3"
              }
            ],
            "name": "payArbitrationFeeByOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 858,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5050:2:3"
            },
            "payable": true,
            "returnParameters": {
              "id": 861,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5077:0:3"
            },
            "scope": 1111,
            "src": "5017:888:3",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 970,
              "nodeType": "Block",
              "src": "6149:814:3",
              "statements": [
                {
                  "assignments": [
                    920
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 920,
                      "name": "arbitrationCost",
                      "nodeType": "VariableDeclaration",
                      "scope": 971,
                      "src": "6159:20:3",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 919,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "6159:4:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 925,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 923,
                        "name": "arbitratorExtraData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 501,
                        "src": "6209:19:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 921,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 499,
                        "src": "6182:10:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Arbitrator_$4021",
                          "typeString": "contract Arbitrator"
                        }
                      },
                      "id": 922,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "arbitrationCost",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3967,
                      "src": "6182:26:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes memory) view external returns (uint256)"
                      }
                    },
                    "id": 924,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6182:47:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6159:70:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 929,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 926,
                      "name": "claimantFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 610,
                      "src": "6239:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 927,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "6254:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 928,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6254:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6239:24:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 930,
                  "nodeType": "ExpressionStatement",
                  "src": "6239:24:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 934,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 932,
                          "name": "claimantFee",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 610,
                          "src": "6350:11:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 933,
                          "name": "arbitrationCost",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 920,
                          "src": "6365:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "6350:30:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "436c61696d616e7420666565206d75737420657175616c206172626974726174696f6e20636f73742e",
                        "id": 935,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6382:43:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e18bf52e854b8d33141fbc503b1fd3789455323333b5e3ee89412dcfe3f046b7",
                          "typeString": "literal_string \"Claimant fee must equal arbitration cost.\""
                        },
                        "value": "Claimant fee must equal arbitration cost."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e18bf52e854b8d33141fbc503b1fd3789455323333b5e3ee89412dcfe3f046b7",
                          "typeString": "literal_string \"Claimant fee must equal arbitration cost.\""
                        }
                      ],
                      "id": 931,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "6342:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 936,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6342:84:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 937,
                  "nodeType": "ExpressionStatement",
                  "src": "6342:84:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$630",
                          "typeString": "enum ArbitrableDeposit.Status"
                        },
                        "id": 942,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 939,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 632,
                          "src": "6444:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 940,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 630,
                            "src": "6453:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                              "typeString": "type(enum ArbitrableDeposit.Status)"
                            }
                          },
                          "id": 941,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "DisputeCreated",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6453:21:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "src": "6444:30:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4120646973707574652068617320616c7265616479206265656e207261697365642e",
                        "id": 943,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6476:36:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
                          "typeString": "literal_string \"A dispute has already been raised.\""
                        },
                        "value": "A dispute has already been raised."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
                          "typeString": "literal_string \"A dispute has already been raised.\""
                        }
                      ],
                      "id": 938,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "6436:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 944,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6436:77:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 945,
                  "nodeType": "ExpressionStatement",
                  "src": "6436:77:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 948,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 946,
                      "name": "lastInteraction",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 612,
                      "src": "6573:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 947,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20641,
                      "src": "6591:3:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6573:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 949,
                  "nodeType": "ExpressionStatement",
                  "src": "6573:21:3"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 952,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 950,
                      "name": "ownerFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 608,
                      "src": "6608:8:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 951,
                      "name": "arbitrationCost",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 920,
                      "src": "6619:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6608:26:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 968,
                    "nodeType": "Block",
                    "src": "6845:112:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 965,
                              "name": "arbitrationCost",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 920,
                              "src": "6930:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 964,
                            "name": "raiseDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 999,
                            "src": "6917:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 966,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6917:29:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 967,
                        "nodeType": "ExpressionStatement",
                        "src": "6917:29:3"
                      }
                    ]
                  },
                  "id": 969,
                  "nodeType": "IfStatement",
                  "src": "6604:353:3",
                  "trueBody": {
                    "id": 963,
                    "nodeType": "Block",
                    "src": "6636:203:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 956,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 953,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 632,
                            "src": "6754:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 954,
                              "name": "Status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 630,
                              "src": "6763:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                                "typeString": "type(enum ArbitrableDeposit.Status)"
                              }
                            },
                            "id": 955,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "WaitingOwner",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "6763:19:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "src": "6754:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "id": 957,
                        "nodeType": "ExpressionStatement",
                        "src": "6754:28:3"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 959,
                                "name": "Party",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 689,
                                "src": "6813:5:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_Party_$689_$",
                                  "typeString": "type(enum ArbitrableDeposit.Party)"
                                }
                              },
                              "id": 960,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "Claimant",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "6813:14:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_Party_$689",
                                "typeString": "enum ArbitrableDeposit.Party"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_enum$_Party_$689",
                                "typeString": "enum ArbitrableDeposit.Party"
                              }
                            ],
                            "id": 958,
                            "name": "HasToPayFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 693,
                            "src": "6801:11:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Party_$689_$returns$__$",
                              "typeString": "function (enum ArbitrableDeposit.Party)"
                            }
                          },
                          "id": 961,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6801:27:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 962,
                        "nodeType": "EmitStatement",
                        "src": "6796:32:3"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@dev Pay the arbitration fee to raise a dispute. To be called by the claimant. UNTRUSTED.\n Note that this function mirror payArbitrationFeeByOwner.",
            "id": 971,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 917,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 916,
                  "name": "onlyClaimant",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 686,
                  "src": "6136:12:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6136:12:3"
              }
            ],
            "name": "payArbitrationFeeByClaimant",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 915,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6118:2:3"
            },
            "payable": true,
            "returnParameters": {
              "id": 918,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6149:0:3"
            },
            "scope": 1111,
            "src": "6082:881:3",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 998,
              "nodeType": "Block",
              "src": "7135:204:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 979,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 976,
                      "name": "status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 632,
                      "src": "7145:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 977,
                        "name": "Status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 630,
                        "src": "7154:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                          "typeString": "type(enum ArbitrableDeposit.Status)"
                        }
                      },
                      "id": 978,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "DisputeCreated",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "7154:21:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "src": "7145:30:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Status_$630",
                      "typeString": "enum ArbitrableDeposit.Status"
                    }
                  },
                  "id": 980,
                  "nodeType": "ExpressionStatement",
                  "src": "7145:30:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 990,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 981,
                      "name": "disputeID",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 614,
                      "src": "7185:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 987,
                          "name": "AMOUNT_OF_CHOICES",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 635,
                          "src": "7246:17:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 988,
                          "name": "arbitratorExtraData",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 501,
                          "src": "7264:19:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          },
                          {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        ],
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 985,
                            "name": "_arbitrationCost",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 973,
                            "src": "7228:16:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 982,
                              "name": "arbitrator",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 499,
                              "src": "7197:10:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Arbitrator_$4021",
                                "typeString": "contract Arbitrator"
                              }
                            },
                            "id": 983,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "createDispute",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3960,
                            "src": "7197:24:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                              "typeString": "function (uint256,bytes memory) payable external returns (uint256)"
                            }
                          },
                          "id": 984,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7197:30:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value_$",
                            "typeString": "function (uint256) returns (function (uint256,bytes memory) payable external returns (uint256))"
                          }
                        },
                        "id": 986,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7197:48:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value",
                          "typeString": "function (uint256,bytes memory) payable external returns (uint256)"
                        }
                      },
                      "id": 989,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "7197:87:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7185:99:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 991,
                  "nodeType": "ExpressionStatement",
                  "src": "7185:99:3"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 993,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 499,
                        "src": "7307:10:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Arbitrator_$4021",
                          "typeString": "contract Arbitrator"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 994,
                        "name": "disputeID",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 614,
                        "src": "7319:9:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 995,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7330:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Arbitrator_$4021",
                          "typeString": "contract Arbitrator"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "id": 992,
                      "name": "Dispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 529,
                      "src": "7299:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_contract$_Arbitrator_$4021_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (contract Arbitrator,uint256,uint256)"
                      }
                    },
                    "id": 996,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7299:33:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 997,
                  "nodeType": "EmitStatement",
                  "src": "7294:38:3"
                }
              ]
            },
            "documentation": "@dev Create a dispute. UNTRUSTED.\n @param _arbitrationCost Amount to pay the arbitrator.",
            "id": 999,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "raiseDispute",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 974,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 973,
                  "name": "_arbitrationCost",
                  "nodeType": "VariableDeclaration",
                  "scope": 999,
                  "src": "7103:21:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 972,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7103:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7102:23:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 975,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7135:0:3"
            },
            "scope": 1111,
            "src": "7081:258:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 1026,
              "nodeType": "Block",
              "src": "7459:235:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$630",
                          "typeString": "enum ArbitrableDeposit.Status"
                        },
                        "id": 1008,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1005,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 632,
                          "src": "7477:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1006,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 630,
                            "src": "7487:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                              "typeString": "type(enum ArbitrableDeposit.Status)"
                            }
                          },
                          "id": 1007,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "WaitingClaimant",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7487:22:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "src": "7477:32:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "54686520636f6e7472616374206973206e6f742077616974696e6720666f722074686520636c61696d616e742e",
                        "id": 1009,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7511:47:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_aa0c0b28187bbc4f1c5ba5bb65c72e243da4b01ba59808d051976f43445793ec",
                          "typeString": "literal_string \"The contract is not waiting for the claimant.\""
                        },
                        "value": "The contract is not waiting for the claimant."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_aa0c0b28187bbc4f1c5ba5bb65c72e243da4b01ba59808d051976f43445793ec",
                          "typeString": "literal_string \"The contract is not waiting for the claimant.\""
                        }
                      ],
                      "id": 1004,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "7469:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1010,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7469:90:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1011,
                  "nodeType": "ExpressionStatement",
                  "src": "7469:90:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1017,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1013,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20641,
                          "src": "7577:3:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1016,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 1014,
                            "name": "lastInteraction",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 612,
                            "src": "7584:15:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 1015,
                            "name": "timeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 606,
                            "src": "7602:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7584:25:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7577:32:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f7420656e6f7567682074696d6520686173207061737365642e",
                        "id": 1018,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7611:29:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
                          "typeString": "literal_string \"Not enough time has passed.\""
                        },
                        "value": "Not enough time has passed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
                          "typeString": "literal_string \"Not enough time has passed.\""
                        }
                      ],
                      "id": 1012,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "7569:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1019,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7569:72:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1020,
                  "nodeType": "ExpressionStatement",
                  "src": "7569:72:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1022,
                        "name": "disputeID",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 614,
                        "src": "7666:9:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1023,
                        "name": "OWNER_WINS",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 638,
                        "src": "7676:10:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      ],
                      "id": 1021,
                      "name": "executeRuling",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        1110
                      ],
                      "referencedDeclaration": 1110,
                      "src": "7652:13:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 1024,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7652:35:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1025,
                  "nodeType": "ExpressionStatement",
                  "src": "7652:35:3"
                }
              ]
            },
            "documentation": "@dev Reimburse owner if claimant fails to pay the fee.",
            "id": 1027,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1002,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1001,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 658,
                  "src": "7449:9:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7449:9:3"
              }
            ],
            "name": "timeOutByOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1000,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7439:2:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 1003,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7459:0:3"
            },
            "scope": 1111,
            "src": "7416:278:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1054,
              "nodeType": "Block",
              "src": "7814:233:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$630",
                          "typeString": "enum ArbitrableDeposit.Status"
                        },
                        "id": 1036,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1033,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 632,
                          "src": "7832:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1034,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 630,
                            "src": "7842:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                              "typeString": "type(enum ArbitrableDeposit.Status)"
                            }
                          },
                          "id": 1035,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "WaitingOwner",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7842:19:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "src": "7832:29:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "54686520636f6e7472616374206973206e6f742077616974696e6720666f7220746865206f776e65722e",
                        "id": 1037,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7863:44:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_592fca79757d20861bffaa87906ec11fa717736b6fbf2b1500b5ce94df48c3aa",
                          "typeString": "literal_string \"The contract is not waiting for the owner.\""
                        },
                        "value": "The contract is not waiting for the owner."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_592fca79757d20861bffaa87906ec11fa717736b6fbf2b1500b5ce94df48c3aa",
                          "typeString": "literal_string \"The contract is not waiting for the owner.\""
                        }
                      ],
                      "id": 1032,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "7824:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1038,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7824:84:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1039,
                  "nodeType": "ExpressionStatement",
                  "src": "7824:84:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1045,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1041,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20641,
                          "src": "7926:3:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1044,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 1042,
                            "name": "lastInteraction",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 612,
                            "src": "7933:15:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 1043,
                            "name": "timeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 606,
                            "src": "7951:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7933:25:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7926:32:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f7420656e6f7567682074696d6520686173207061737365642e",
                        "id": 1046,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7960:29:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
                          "typeString": "literal_string \"Not enough time has passed.\""
                        },
                        "value": "Not enough time has passed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
                          "typeString": "literal_string \"Not enough time has passed.\""
                        }
                      ],
                      "id": 1040,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "7918:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1047,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7918:72:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1048,
                  "nodeType": "ExpressionStatement",
                  "src": "7918:72:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1050,
                        "name": "disputeID",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 614,
                        "src": "8015:9:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1051,
                        "name": "CLAIMANT_WINS",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 641,
                        "src": "8026:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      ],
                      "id": 1049,
                      "name": "executeRuling",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        1110
                      ],
                      "referencedDeclaration": 1110,
                      "src": "8001:13:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 1052,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8001:39:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1053,
                  "nodeType": "ExpressionStatement",
                  "src": "8001:39:3"
                }
              ]
            },
            "documentation": "@dev Pay claimant if owner fails to pay the fee.",
            "id": 1055,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1030,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1029,
                  "name": "onlyClaimant",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 686,
                  "src": "7801:12:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7801:12:3"
              }
            ],
            "name": "timeOutByClaimant",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1028,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7791:2:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 1031,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7814:0:3"
            },
            "scope": 1111,
            "src": "7765:282:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1109,
              "nodeType": "Block",
              "src": "8453:380:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1065,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1063,
                          "name": "_disputeID",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1057,
                          "src": "8471:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1064,
                          "name": "disputeID",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 614,
                          "src": "8485:9:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "8471:23:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "57726f6e6720646973707574652049442e",
                        "id": 1066,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8496:19:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_592f5101973b6cc3d369ba410fae1f41cd87e7dce28c818774c5095e76af8c1e",
                          "typeString": "literal_string \"Wrong dispute ID.\""
                        },
                        "value": "Wrong dispute ID."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_592f5101973b6cc3d369ba410fae1f41cd87e7dce28c818774c5095e76af8c1e",
                          "typeString": "literal_string \"Wrong dispute ID.\""
                        }
                      ],
                      "id": 1062,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "8463:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1067,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8463:53:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1068,
                  "nodeType": "ExpressionStatement",
                  "src": "8463:53:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1072,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1070,
                          "name": "_ruling",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1059,
                          "src": "8534:7:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1071,
                          "name": "AMOUNT_OF_CHOICES",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 635,
                          "src": "8545:17:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "src": "8534:28:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c69642072756c696e672e",
                        "id": 1073,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8564:17:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6",
                          "typeString": "literal_string \"Invalid ruling.\""
                        },
                        "value": "Invalid ruling."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6",
                          "typeString": "literal_string \"Invalid ruling.\""
                        }
                      ],
                      "id": 1069,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "8526:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1074,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8526:56:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1075,
                  "nodeType": "ExpressionStatement",
                  "src": "8526:56:3"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1078,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 1076,
                      "name": "_ruling",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1059,
                      "src": "8597:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 1077,
                      "name": "OWNER_WINS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 638,
                      "src": "8608:10:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "src": "8597:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 1096,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 1094,
                        "name": "_ruling",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1059,
                        "src": "8743:7:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 1095,
                        "name": "CLAIMANT_WINS",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 641,
                        "src": "8754:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "src": "8743:24:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 1103,
                    "nodeType": "IfStatement",
                    "src": "8739:67:3",
                    "trueBody": {
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1100,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 616,
                            "src": "8799:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 1097,
                            "name": "claimant",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 604,
                            "src": "8781:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 1099,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "transfer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8781:17:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                            "typeString": "function (uint256)"
                          }
                        },
                        "id": 1101,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8781:25:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$__$",
                          "typeString": "tuple()"
                        }
                      },
                      "id": 1102,
                      "nodeType": "ExpressionStatement",
                      "src": "8781:25:3"
                    }
                  },
                  "id": 1104,
                  "nodeType": "IfStatement",
                  "src": "8593:213:3",
                  "trueBody": {
                    "id": 1093,
                    "nodeType": "Block",
                    "src": "8620:113:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 1084,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 1082,
                                "name": "amount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 616,
                                "src": "8649:6:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 1083,
                                "name": "claimAmount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 618,
                                "src": "8658:11:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "8649:20:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 1079,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 602,
                              "src": "8634:5:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 1081,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "transfer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "8634:14:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 1085,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8634:36:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 1086,
                        "nodeType": "ExpressionStatement",
                        "src": "8634:36:3"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 1090,
                              "name": "claimResponseAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 622,
                              "src": "8702:19:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 1087,
                              "name": "claimant",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 604,
                              "src": "8684:8:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 1089,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "transfer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "8684:17:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 1091,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8684:38:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 1092,
                        "nodeType": "ExpressionStatement",
                        "src": "8684:38:3"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1105,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 616,
                      "src": "8816:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 1106,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8825:1:3",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "8816:10:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 1108,
                  "nodeType": "ExpressionStatement",
                  "src": "8816:10:3"
                }
              ]
            },
            "documentation": "@dev Execute a ruling of a dispute. Pays parties respective amounts based on ruling.\n This needs to be extended by contract inheriting from it.\n @param _disputeID ID of the dispute in the Arbitrator contract.\n @param _ruling Ruling given by the arbitrator. 1 : Allow owner deposit. 2 : Pay claimant.",
            "id": 1110,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "executeRuling",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1060,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1057,
                  "name": "_disputeID",
                  "nodeType": "VariableDeclaration",
                  "scope": 1110,
                  "src": "8413:15:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1056,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8413:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1059,
                  "name": "_ruling",
                  "nodeType": "VariableDeclaration",
                  "scope": 1110,
                  "src": "8430:12:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1058,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8430:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8412:31:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 1061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8453:0:3"
            },
            "scope": 1111,
            "src": "8390:443:3",
            "stateMutability": "nonpayable",
            "superFunction": 594,
            "visibility": "internal"
          }
        ],
        "scope": 1112,
        "src": "652:8183:3"
      }
    ],
    "src": "170:8666:3"
  },
  "legacyAST": {
    "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/ArbitrableDeposit.sol",
    "exportedSymbols": {
      "ArbitrableDeposit": [
        1111
      ]
    },
    "id": 1112,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 597,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".15"
        ],
        "nodeType": "PragmaDirective",
        "src": "170:24:3"
      },
      {
        "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/Arbitrable.sol",
        "file": "./Arbitrable.sol",
        "id": 598,
        "nodeType": "ImportDirective",
        "scope": 1112,
        "sourceUnit": 596,
        "src": "195:26:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 599,
              "name": "Arbitrable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 595,
              "src": "682:10:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Arbitrable_$595",
                "typeString": "contract Arbitrable"
              }
            },
            "id": 600,
            "nodeType": "InheritanceSpecifier",
            "src": "682:10:3"
          }
        ],
        "contractDependencies": [
          595
        ],
        "contractKind": "contract",
        "documentation": "@title Arbitrable Deposit\n This is a a contract which allow for an owner deposit. Anyone besides the owner can seek arbitration/file a claim as a claimant.\nTo develop a contract inheriting from this one, you need to:\n - Redefine RULING_OPTIONS to explain the consequences of the possible rulings.\n - Redefine executeRuling while still calling super.executeRuling to implement the results of the arbitration.",
        "fullyImplemented": true,
        "id": 1111,
        "linearizedBaseContracts": [
          1111,
          595
        ],
        "name": "ArbitrableDeposit",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 602,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "699:20:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 601,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "699:7:3",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 604,
            "name": "claimant",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "725:23:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 603,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "725:7:3",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 606,
            "name": "timeout",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "754:19:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 605,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "754:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 608,
            "name": "ownerFee",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "874:20:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 607,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "874:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 610,
            "name": "claimantFee",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "933:23:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 609,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "933:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 612,
            "name": "lastInteraction",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "998:27:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 611,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "998:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 614,
            "name": "disputeID",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1078:21:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 613,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1078:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 616,
            "name": "amount",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1105:18:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 615,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1105:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 618,
            "name": "claimAmount",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1165:23:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 617,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1165:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 620,
            "name": "claimRate",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1231:21:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 619,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1231:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 622,
            "name": "claimResponseAmount",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1318:33:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 621,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1318:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 624,
            "name": "claimDepositAmount",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1424:30:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 623,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1424:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "canonicalName": "ArbitrableDeposit.Status",
            "id": 630,
            "members": [
              {
                "id": 625,
                "name": "NoDispute",
                "nodeType": "EnumValue",
                "src": "1515:9:3"
              },
              {
                "id": 626,
                "name": "WaitingOwner",
                "nodeType": "EnumValue",
                "src": "1526:12:3"
              },
              {
                "id": 627,
                "name": "WaitingClaimant",
                "nodeType": "EnumValue",
                "src": "1540:15:3"
              },
              {
                "id": 628,
                "name": "DisputeCreated",
                "nodeType": "EnumValue",
                "src": "1557:14:3"
              },
              {
                "id": 629,
                "name": "Resolved",
                "nodeType": "EnumValue",
                "src": "1573:8:3"
              }
            ],
            "name": "Status",
            "nodeType": "EnumDefinition",
            "src": "1502:80:3"
          },
          {
            "constant": false,
            "id": 632,
            "name": "status",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1587:20:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_enum$_Status_$630",
              "typeString": "enum ArbitrableDeposit.Status"
            },
            "typeName": {
              "contractScope": null,
              "id": 631,
              "name": "Status",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 630,
              "src": "1587:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_Status_$630",
                "typeString": "enum ArbitrableDeposit.Status"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 635,
            "name": "AMOUNT_OF_CHOICES",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1614:36:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 633,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1614:5:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "32",
              "id": 634,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1649:1:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2_by_1",
                "typeString": "int_const 2"
              },
              "value": "2"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 638,
            "name": "OWNER_WINS",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1656:29:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 636,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1656:5:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31",
              "id": 637,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1684:1:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1_by_1",
                "typeString": "int_const 1"
              },
              "value": "1"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 641,
            "name": "CLAIMANT_WINS",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1691:32:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 639,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1691:5:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "32",
              "id": 640,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1722:1:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2_by_1",
                "typeString": "int_const 2"
              },
              "value": "2"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 644,
            "name": "RULING_OPTIONS",
            "nodeType": "VariableDeclaration",
            "scope": 1111,
            "src": "1729:59:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 642,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1729:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4f776e65722077696e733b436c61696d616e742077696e73",
              "id": 643,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1762:26:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_033cfec2fb1157f3298b564805cb381aa5a1e85b2c8b3664c638fe2c07222023",
                "typeString": "literal_string \"Owner wins;Claimant wins\""
              },
              "value": "Owner wins;Claimant wins"
            },
            "visibility": "internal"
          },
          {
            "body": {
              "id": 657,
              "nodeType": "Block",
              "src": "1893:79:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 647,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20639,
                            "src": "1902:3:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 648,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1902:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 650,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 602,
                              "src": "1924:5:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 649,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1916:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 651,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1916:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1902:28:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e",
                        "id": 653,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1932:34:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_bf33d29683e5562cfb7e5d7016dc68533d604c99c45e8c622ac0ad8361611bfa",
                          "typeString": "literal_string \"Can only be called by the owner.\""
                        },
                        "value": "Can only be called by the owner."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_bf33d29683e5562cfb7e5d7016dc68533d604c99c45e8c622ac0ad8361611bfa",
                          "typeString": "literal_string \"Can only be called by the owner.\""
                        }
                      ],
                      "id": 646,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "1894:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 654,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1894:73:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 655,
                  "nodeType": "ExpressionStatement",
                  "src": "1894:73:3"
                },
                {
                  "id": 656,
                  "nodeType": "PlaceholderStatement",
                  "src": "1969:1:3"
                }
              ]
            },
            "documentation": null,
            "id": 658,
            "name": "onlyOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 645,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1893:0:3"
            },
            "src": "1875:97:3",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 671,
              "nodeType": "Block",
              "src": "1998:77:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 666,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 661,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20639,
                            "src": "2007:3:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 662,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2007:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 664,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 602,
                              "src": "2029:5:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 663,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2021:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 665,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2021:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2007:28:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e6e6f742062652063616c6c656420627920746865206f776e65722e",
                        "id": 667,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2037:32:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_aa3392aa480c454b8b1a0d19741803a12190550f200b3e3e4ec8ff7885026a89",
                          "typeString": "literal_string \"Cannot be called by the owner.\""
                        },
                        "value": "Cannot be called by the owner."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_aa3392aa480c454b8b1a0d19741803a12190550f200b3e3e4ec8ff7885026a89",
                          "typeString": "literal_string \"Cannot be called by the owner.\""
                        }
                      ],
                      "id": 660,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "1999:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 668,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1999:71:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 669,
                  "nodeType": "ExpressionStatement",
                  "src": "1999:71:3"
                },
                {
                  "id": 670,
                  "nodeType": "PlaceholderStatement",
                  "src": "2072:1:3"
                }
              ]
            },
            "documentation": null,
            "id": 672,
            "name": "onlyNotOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 659,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1998:0:3"
            },
            "src": "1977:98:3",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 685,
              "nodeType": "Block",
              "src": "2101:85:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 680,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 675,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20639,
                            "src": "2110:3:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 676,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2110:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 678,
                              "name": "claimant",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 604,
                              "src": "2132:8:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 677,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2124:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 679,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2124:17:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2110:31:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e206f6e6c792062652063616c6c65642062792074686520636c61696d616e742e",
                        "id": 681,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2143:37:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3e97f4d228b984a36b6e8f7c72acb391612cfef6f8cd2c327c99d410920a50d8",
                          "typeString": "literal_string \"Can only be called by the claimant.\""
                        },
                        "value": "Can only be called by the claimant."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3e97f4d228b984a36b6e8f7c72acb391612cfef6f8cd2c327c99d410920a50d8",
                          "typeString": "literal_string \"Can only be called by the claimant.\""
                        }
                      ],
                      "id": 674,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "2102:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 682,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2102:79:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 683,
                  "nodeType": "ExpressionStatement",
                  "src": "2102:79:3"
                },
                {
                  "id": 684,
                  "nodeType": "PlaceholderStatement",
                  "src": "2183:1:3"
                }
              ]
            },
            "documentation": null,
            "id": 686,
            "name": "onlyClaimant",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 673,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2101:0:3"
            },
            "src": "2080:106:3",
            "visibility": "internal"
          },
          {
            "canonicalName": "ArbitrableDeposit.Party",
            "id": 689,
            "members": [
              {
                "id": 687,
                "name": "Owner",
                "nodeType": "EnumValue",
                "src": "2204:5:3"
              },
              {
                "id": 688,
                "name": "Claimant",
                "nodeType": "EnumValue",
                "src": "2211:8:3"
              }
            ],
            "name": "Party",
            "nodeType": "EnumDefinition",
            "src": "2192:28:3"
          },
          {
            "anonymous": false,
            "documentation": "@dev Indicate that a party has to pay a fee or would otherwise be considered as loosing.\n @param _party The party who has to pay.",
            "id": 693,
            "name": "HasToPayFee",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 692,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 691,
                  "indexed": false,
                  "name": "_party",
                  "nodeType": "VariableDeclaration",
                  "scope": 693,
                  "src": "2397:12:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Party_$689",
                    "typeString": "enum ArbitrableDeposit.Party"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 690,
                    "name": "Party",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 689,
                    "src": "2397:5:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Party_$689",
                      "typeString": "enum ArbitrableDeposit.Party"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2396:14:3"
            },
            "src": "2379:32:3"
          },
          {
            "body": {
              "id": 745,
              "nodeType": "Block",
              "src": "2960:244:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 712,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 710,
                      "name": "timeout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 606,
                      "src": "2970:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 711,
                      "name": "_timeout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 697,
                      "src": "2980:8:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2970:18:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 713,
                  "nodeType": "ExpressionStatement",
                  "src": "2970:18:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 716,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 714,
                      "name": "claimRate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 620,
                      "src": "2998:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 715,
                      "name": "_claimRate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 701,
                      "src": "3010:10:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2998:22:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 717,
                  "nodeType": "ExpressionStatement",
                  "src": "2998:22:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 721,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 718,
                      "name": "status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 632,
                      "src": "3030:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 719,
                        "name": "Status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 630,
                        "src": "3039:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                          "typeString": "type(enum ArbitrableDeposit.Status)"
                        }
                      },
                      "id": 720,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "NoDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3039:16:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "src": "3030:25:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Status_$630",
                      "typeString": "enum ArbitrableDeposit.Status"
                    }
                  },
                  "id": 722,
                  "nodeType": "ExpressionStatement",
                  "src": "3030:25:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 726,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 723,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 616,
                      "src": "3065:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 724,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "3075:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 725,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3075:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3065:19:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 727,
                  "nodeType": "ExpressionStatement",
                  "src": "3065:19:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 731,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 728,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 602,
                      "src": "3094:5:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 729,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "3102:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 730,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3102:10:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3094:18:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 732,
                  "nodeType": "ExpressionStatement",
                  "src": "3094:18:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 737,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 616,
                        "src": "3145:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 734,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20662,
                            "src": "3130:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          ],
                          "id": 733,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "3122:7:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 735,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3122:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 736,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3122:22:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 738,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3122:30:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 739,
                  "nodeType": "ExpressionStatement",
                  "src": "3122:30:3"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3180:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "id": 742,
                        "name": "_metaEvidence",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 703,
                        "src": "3183:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 740,
                      "name": "MetaEvidence",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 521,
                      "src": "3167:12:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,string memory)"
                      }
                    },
                    "id": 743,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3167:30:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 744,
                  "nodeType": "EmitStatement",
                  "src": "3162:35:3"
                }
              ]
            },
            "documentation": "@dev Constructor. Choose the arbitrator\n @param _arbitrator The arbitrator of the contract.\n @param _timeout Time after which a party automatically loose a dispute.\n @param _arbitratorExtraData Extra data for the arbitrator.\n @param _metaEvidence Link to the meta evidence.",
            "id": 746,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 706,
                    "name": "_arbitrator",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 695,
                    "src": "2910:11:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Arbitrator_$4021",
                      "typeString": "contract Arbitrator"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 707,
                    "name": "_arbitratorExtraData",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 699,
                    "src": "2923:20:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  }
                ],
                "id": 708,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 705,
                  "name": "Arbitrable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 595,
                  "src": "2899:10:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_Arbitrable_$595_$",
                    "typeString": "type(contract Arbitrable)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2899:45:3"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 704,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 695,
                  "name": "_arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2756:22:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Arbitrator_$4021",
                    "typeString": "contract Arbitrator"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 694,
                    "name": "Arbitrator",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4021,
                    "src": "2756:10:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Arbitrator_$4021",
                      "typeString": "contract Arbitrator"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 697,
                  "name": "_timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2788:13:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 696,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2788:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 699,
                  "name": "_arbitratorExtraData",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2811:26:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 698,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2811:5:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 701,
                  "name": "_claimRate",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2847:15:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 700,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2847:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 703,
                  "name": "_metaEvidence",
                  "nodeType": "VariableDeclaration",
                  "scope": 746,
                  "src": "2872:20:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 702,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2872:6:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2746:152:3"
            },
            "payable": true,
            "returnParameters": {
              "id": 709,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2960:0:3"
            },
            "scope": 1111,
            "src": "2735:469:3",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 764,
              "nodeType": "Block",
              "src": "3347:79:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 754,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 751,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 616,
                      "src": "3357:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 752,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "3367:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 753,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3367:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3357:19:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 755,
                  "nodeType": "ExpressionStatement",
                  "src": "3357:19:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 760,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20639,
                          "src": "3409:3:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 761,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "3409:9:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 757,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20662,
                            "src": "3394:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          ],
                          "id": 756,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "3386:7:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 758,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3386:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 759,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3386:22:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 762,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3386:33:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 763,
                  "nodeType": "ExpressionStatement",
                  "src": "3386:33:3"
                }
              ]
            },
            "documentation": "@dev Owner deposit to contract. To be called when the owner makes a deposit.",
            "id": 765,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 749,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 748,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 658,
                  "src": "3337:9:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3337:9:3"
              }
            ],
            "name": "deposit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 747,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3319:2:3"
            },
            "payable": true,
            "returnParameters": {
              "id": 750,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3347:0:3"
            },
            "scope": 1111,
            "src": "3303:123:3",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 809,
              "nodeType": "Block",
              "src": "3651:313:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 775,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 773,
                          "name": "_claimAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 767,
                          "src": "3669:12:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 774,
                          "name": "amount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 616,
                          "src": "3685:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "3669:22:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "43616e6e6f7420636c61696d206d6f7265207468616e2077686174206973206465706f73697465642e",
                        "id": 776,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3693:43:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3bc51fea8893edce1bb0bf2d7870a353e6097d76d80c508369402dac4e6ca908",
                          "typeString": "literal_string \"Cannot claim more than what is deposited.\""
                        },
                        "value": "Cannot claim more than what is deposited."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3bc51fea8893edce1bb0bf2d7870a353e6097d76d80c508369402dac4e6ca908",
                          "typeString": "literal_string \"Cannot claim more than what is deposited.\""
                        }
                      ],
                      "id": 772,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "3661:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 777,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3661:76:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 778,
                  "nodeType": "ExpressionStatement",
                  "src": "3661:76:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 782,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 779,
                      "name": "claimant",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 604,
                      "src": "3747:8:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 780,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "3758:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 781,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3758:10:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3747:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 783,
                  "nodeType": "ExpressionStatement",
                  "src": "3747:21:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 786,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 784,
                      "name": "claimAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 618,
                      "src": "3778:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 785,
                      "name": "_claimAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 767,
                      "src": "3792:12:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3778:26:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 787,
                  "nodeType": "ExpressionStatement",
                  "src": "3778:26:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 795,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 788,
                      "name": "claimDepositAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 624,
                      "src": "3814:18:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 794,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 791,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 789,
                              "name": "_claimAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 767,
                              "src": "3836:12:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "*",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 790,
                              "name": "claimRate",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 620,
                              "src": "3851:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "3836:24:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "id": 792,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "3835:26:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "/",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "313030",
                        "id": 793,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3864:3:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100_by_1",
                          "typeString": "int_const 100"
                        },
                        "value": "100"
                      },
                      "src": "3835:32:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3814:53:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 796,
                  "nodeType": "ExpressionStatement",
                  "src": "3814:53:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 801,
                        "name": "claimDepositAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 624,
                        "src": "3900:18:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 798,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20662,
                            "src": "3885:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
                              "typeString": "contract ArbitrableDeposit"
                            }
                          ],
                          "id": 797,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "3877:7:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 799,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3877:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 800,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3877:22:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 802,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3877:42:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 803,
                  "nodeType": "ExpressionStatement",
                  "src": "3877:42:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 807,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 804,
                      "name": "status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 632,
                      "src": "3929:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 805,
                        "name": "Status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 630,
                        "src": "3938:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                          "typeString": "type(enum ArbitrableDeposit.Status)"
                        }
                      },
                      "id": 806,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "WaitingOwner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3938:19:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "src": "3929:28:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Status_$630",
                      "typeString": "enum ArbitrableDeposit.Status"
                    }
                  },
                  "id": 808,
                  "nodeType": "ExpressionStatement",
                  "src": "3929:28:3"
                }
              ]
            },
            "documentation": "@dev File a claim against owner. To be called when someone makes a claim.\n @param _claimAmount The proposed claim amount by the claimant.",
            "id": 810,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 770,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 769,
                  "name": "onlyNotOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 672,
                  "src": "3638:12:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3638:12:3"
              }
            ],
            "name": "makeClaim",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 768,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 767,
                  "name": "_claimAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 810,
                  "src": "3612:17:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 766,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3612:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3611:19:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 771,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3651:0:3"
            },
            "scope": 1111,
            "src": "3593:371:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 856,
              "nodeType": "Block",
              "src": "4230:439:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 820,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 818,
                          "name": "_responseAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 812,
                          "src": "4248:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 819,
                          "name": "claimDepositAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 624,
                          "src": "4267:18:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "4248:37:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "54686520726573706f6e736520616d6f756e742068617320746f206265206c657373207468616e2074686520636c61696d206465706f73697420616d6f756e742e",
                        "id": 821,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4287:67:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5156c7ae1f4fbb45fb3ada1c6259b36702f8ee523444c8c1192cd015a8c46ba8",
                          "typeString": "literal_string \"The response amount has to be less than the claim deposit amount.\""
                        },
                        "value": "The response amount has to be less than the claim deposit amount."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5156c7ae1f4fbb45fb3ada1c6259b36702f8ee523444c8c1192cd015a8c46ba8",
                          "typeString": "literal_string \"The response amount has to be less than the claim deposit amount.\""
                        }
                      ],
                      "id": 817,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "4240:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 822,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4240:115:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 823,
                  "nodeType": "ExpressionStatement",
                  "src": "4240:115:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 824,
                      "name": "claimResponseAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 622,
                      "src": "4365:19:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 825,
                      "name": "_responseAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 812,
                      "src": "4387:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4365:37:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 827,
                  "nodeType": "ExpressionStatement",
                  "src": "4365:37:3"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 830,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 828,
                      "name": "_responseAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 812,
                      "src": "4416:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 829,
                      "name": "claimDepositAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 624,
                      "src": "4435:18:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4416:37:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 854,
                    "nodeType": "Block",
                    "src": "4612:51:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 851,
                            "name": "payArbitrationFeeByOwner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 914,
                            "src": "4626:24:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                              "typeString": "function ()"
                            }
                          },
                          "id": 852,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4626:26:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 853,
                        "nodeType": "ExpressionStatement",
                        "src": "4626:26:3"
                      }
                    ]
                  },
                  "id": 855,
                  "nodeType": "IfStatement",
                  "src": "4412:251:3",
                  "trueBody": {
                    "id": 850,
                    "nodeType": "Block",
                    "src": "4455:150:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 834,
                              "name": "_responseAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 812,
                              "src": "4487:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 831,
                              "name": "claimant",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 604,
                              "src": "4469:8:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 833,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "transfer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4469:17:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 835,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4469:34:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 836,
                        "nodeType": "ExpressionStatement",
                        "src": "4469:34:3"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 839,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 837,
                            "name": "claimAmount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 618,
                            "src": "4517:11:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 838,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4531:1:3",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4517:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 840,
                        "nodeType": "ExpressionStatement",
                        "src": "4517:15:3"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 843,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 841,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 616,
                            "src": "4546:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 842,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4555:1:3",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4546:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 844,
                        "nodeType": "ExpressionStatement",
                        "src": "4546:10:3"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 848,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 845,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 632,
                            "src": "4570:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 846,
                              "name": "Status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 630,
                              "src": "4579:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                                "typeString": "type(enum ArbitrableDeposit.Status)"
                              }
                            },
                            "id": 847,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "Resolved",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4579:15:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "src": "4570:24:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "id": 849,
                        "nodeType": "ExpressionStatement",
                        "src": "4570:24:3"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@dev Owner response to claimant. To be called when the owner initates a\n a response.\n @param _responseAmount The counter-offer amount the Owner proposes to a claimant.",
            "id": 857,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 815,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 814,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 658,
                  "src": "4220:9:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4220:9:3"
              }
            ],
            "name": "claimResponse",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 813,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 812,
                  "name": "_responseAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 857,
                  "src": "4191:20:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 811,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4191:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4190:22:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 816,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4230:0:3"
            },
            "scope": 1111,
            "src": "4168:501:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 913,
              "nodeType": "Block",
              "src": "5077:828:3",
              "statements": [
                {
                  "assignments": [
                    863
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 863,
                      "name": "arbitrationCost",
                      "nodeType": "VariableDeclaration",
                      "scope": 914,
                      "src": "5087:20:3",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 862,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5087:4:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 868,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 866,
                        "name": "arbitratorExtraData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 501,
                        "src": "5137:19:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 864,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 499,
                        "src": "5110:10:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Arbitrator_$4021",
                          "typeString": "contract Arbitrator"
                        }
                      },
                      "id": 865,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "arbitrationCost",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3967,
                      "src": "5110:26:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes memory) view external returns (uint256)"
                      }
                    },
                    "id": 867,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5110:47:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5087:70:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 872,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 869,
                      "name": "ownerFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 608,
                      "src": "5167:8:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 870,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "5179:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 871,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5179:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5167:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 873,
                  "nodeType": "ExpressionStatement",
                  "src": "5167:21:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 877,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 875,
                          "name": "ownerFee",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 608,
                          "src": "5275:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 876,
                          "name": "arbitrationCost",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 863,
                          "src": "5287:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5275:27:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f776e657220666565206d75737420657175616c206172626974726174696f6e20636f73742e",
                        "id": 878,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5304:40:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9831126b72244114f7837bc06172a82965c308e27cdb7446fde66d61614e2574",
                          "typeString": "literal_string \"Owner fee must equal arbitration cost.\""
                        },
                        "value": "Owner fee must equal arbitration cost."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9831126b72244114f7837bc06172a82965c308e27cdb7446fde66d61614e2574",
                          "typeString": "literal_string \"Owner fee must equal arbitration cost.\""
                        }
                      ],
                      "id": 874,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "5267:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 879,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5267:78:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 880,
                  "nodeType": "ExpressionStatement",
                  "src": "5267:78:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$630",
                          "typeString": "enum ArbitrableDeposit.Status"
                        },
                        "id": 885,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 882,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 632,
                          "src": "5363:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 883,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 630,
                            "src": "5372:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                              "typeString": "type(enum ArbitrableDeposit.Status)"
                            }
                          },
                          "id": 884,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "DisputeCreated",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5372:21:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "src": "5363:30:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4120646973707574652068617320616c7265616479206265656e207261697365642e",
                        "id": 886,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5395:36:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
                          "typeString": "literal_string \"A dispute has already been raised.\""
                        },
                        "value": "A dispute has already been raised."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
                          "typeString": "literal_string \"A dispute has already been raised.\""
                        }
                      ],
                      "id": 881,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "5355:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 887,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5355:77:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 888,
                  "nodeType": "ExpressionStatement",
                  "src": "5355:77:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 891,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 889,
                      "name": "lastInteraction",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 612,
                      "src": "5492:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 890,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20641,
                      "src": "5510:3:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5492:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 892,
                  "nodeType": "ExpressionStatement",
                  "src": "5492:21:3"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 895,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 893,
                      "name": "claimantFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 610,
                      "src": "5527:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 894,
                      "name": "arbitrationCost",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 863,
                      "src": "5541:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5527:29:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 911,
                    "nodeType": "Block",
                    "src": "5784:115:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 908,
                              "name": "arbitrationCost",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 863,
                              "src": "5872:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 907,
                            "name": "raiseDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 999,
                            "src": "5859:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 909,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5859:29:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 910,
                        "nodeType": "ExpressionStatement",
                        "src": "5859:29:3"
                      }
                    ]
                  },
                  "id": 912,
                  "nodeType": "IfStatement",
                  "src": "5523:376:3",
                  "trueBody": {
                    "id": 906,
                    "nodeType": "Block",
                    "src": "5558:220:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 899,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 896,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 632,
                            "src": "5690:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 897,
                              "name": "Status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 630,
                              "src": "5699:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                                "typeString": "type(enum ArbitrableDeposit.Status)"
                              }
                            },
                            "id": 898,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "WaitingClaimant",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "5699:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "src": "5690:31:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "id": 900,
                        "nodeType": "ExpressionStatement",
                        "src": "5690:31:3"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 902,
                                "name": "Party",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 689,
                                "src": "5752:5:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_Party_$689_$",
                                  "typeString": "type(enum ArbitrableDeposit.Party)"
                                }
                              },
                              "id": 903,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "Claimant",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "5752:14:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_Party_$689",
                                "typeString": "enum ArbitrableDeposit.Party"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_enum$_Party_$689",
                                "typeString": "enum ArbitrableDeposit.Party"
                              }
                            ],
                            "id": 901,
                            "name": "HasToPayFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 693,
                            "src": "5740:11:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Party_$689_$returns$__$",
                              "typeString": "function (enum ArbitrableDeposit.Party)"
                            }
                          },
                          "id": 904,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5740:27:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 905,
                        "nodeType": "EmitStatement",
                        "src": "5735:32:3"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@dev Pay the arbitration fee to raise a dispute. To be called by the owner. UNTRUSTED.\n Note that the arbitrator can have createDispute throw, which will make this function throw and therefore lead to a party being timed-out.\n This is not a vulnerability as the arbitrator can rule in favor of one party anyway.",
            "id": 914,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 860,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 859,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 658,
                  "src": "5068:9:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "5068:9:3"
              }
            ],
            "name": "payArbitrationFeeByOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 858,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5050:2:3"
            },
            "payable": true,
            "returnParameters": {
              "id": 861,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5077:0:3"
            },
            "scope": 1111,
            "src": "5017:888:3",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 970,
              "nodeType": "Block",
              "src": "6149:814:3",
              "statements": [
                {
                  "assignments": [
                    920
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 920,
                      "name": "arbitrationCost",
                      "nodeType": "VariableDeclaration",
                      "scope": 971,
                      "src": "6159:20:3",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 919,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "6159:4:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 925,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 923,
                        "name": "arbitratorExtraData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 501,
                        "src": "6209:19:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 921,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 499,
                        "src": "6182:10:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Arbitrator_$4021",
                          "typeString": "contract Arbitrator"
                        }
                      },
                      "id": 922,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "arbitrationCost",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3967,
                      "src": "6182:26:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes memory) view external returns (uint256)"
                      }
                    },
                    "id": 924,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6182:47:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6159:70:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 929,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 926,
                      "name": "claimantFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 610,
                      "src": "6239:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 927,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20639,
                        "src": "6254:3:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 928,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6254:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6239:24:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 930,
                  "nodeType": "ExpressionStatement",
                  "src": "6239:24:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 934,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 932,
                          "name": "claimantFee",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 610,
                          "src": "6350:11:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 933,
                          "name": "arbitrationCost",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 920,
                          "src": "6365:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "6350:30:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "436c61696d616e7420666565206d75737420657175616c206172626974726174696f6e20636f73742e",
                        "id": 935,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6382:43:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e18bf52e854b8d33141fbc503b1fd3789455323333b5e3ee89412dcfe3f046b7",
                          "typeString": "literal_string \"Claimant fee must equal arbitration cost.\""
                        },
                        "value": "Claimant fee must equal arbitration cost."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e18bf52e854b8d33141fbc503b1fd3789455323333b5e3ee89412dcfe3f046b7",
                          "typeString": "literal_string \"Claimant fee must equal arbitration cost.\""
                        }
                      ],
                      "id": 931,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "6342:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 936,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6342:84:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 937,
                  "nodeType": "ExpressionStatement",
                  "src": "6342:84:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$630",
                          "typeString": "enum ArbitrableDeposit.Status"
                        },
                        "id": 942,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 939,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 632,
                          "src": "6444:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 940,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 630,
                            "src": "6453:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                              "typeString": "type(enum ArbitrableDeposit.Status)"
                            }
                          },
                          "id": 941,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "DisputeCreated",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6453:21:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "src": "6444:30:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4120646973707574652068617320616c7265616479206265656e207261697365642e",
                        "id": 943,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6476:36:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
                          "typeString": "literal_string \"A dispute has already been raised.\""
                        },
                        "value": "A dispute has already been raised."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
                          "typeString": "literal_string \"A dispute has already been raised.\""
                        }
                      ],
                      "id": 938,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "6436:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 944,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6436:77:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 945,
                  "nodeType": "ExpressionStatement",
                  "src": "6436:77:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 948,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 946,
                      "name": "lastInteraction",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 612,
                      "src": "6573:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 947,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20641,
                      "src": "6591:3:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6573:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 949,
                  "nodeType": "ExpressionStatement",
                  "src": "6573:21:3"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 952,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 950,
                      "name": "ownerFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 608,
                      "src": "6608:8:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 951,
                      "name": "arbitrationCost",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 920,
                      "src": "6619:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6608:26:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 968,
                    "nodeType": "Block",
                    "src": "6845:112:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 965,
                              "name": "arbitrationCost",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 920,
                              "src": "6930:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 964,
                            "name": "raiseDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 999,
                            "src": "6917:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 966,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6917:29:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 967,
                        "nodeType": "ExpressionStatement",
                        "src": "6917:29:3"
                      }
                    ]
                  },
                  "id": 969,
                  "nodeType": "IfStatement",
                  "src": "6604:353:3",
                  "trueBody": {
                    "id": 963,
                    "nodeType": "Block",
                    "src": "6636:203:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 956,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 953,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 632,
                            "src": "6754:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 954,
                              "name": "Status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 630,
                              "src": "6763:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                                "typeString": "type(enum ArbitrableDeposit.Status)"
                              }
                            },
                            "id": 955,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "WaitingOwner",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "6763:19:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Status_$630",
                              "typeString": "enum ArbitrableDeposit.Status"
                            }
                          },
                          "src": "6754:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "id": 957,
                        "nodeType": "ExpressionStatement",
                        "src": "6754:28:3"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 959,
                                "name": "Party",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 689,
                                "src": "6813:5:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_Party_$689_$",
                                  "typeString": "type(enum ArbitrableDeposit.Party)"
                                }
                              },
                              "id": 960,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "Claimant",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "6813:14:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_Party_$689",
                                "typeString": "enum ArbitrableDeposit.Party"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_enum$_Party_$689",
                                "typeString": "enum ArbitrableDeposit.Party"
                              }
                            ],
                            "id": 958,
                            "name": "HasToPayFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 693,
                            "src": "6801:11:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_enum$_Party_$689_$returns$__$",
                              "typeString": "function (enum ArbitrableDeposit.Party)"
                            }
                          },
                          "id": 961,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6801:27:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 962,
                        "nodeType": "EmitStatement",
                        "src": "6796:32:3"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@dev Pay the arbitration fee to raise a dispute. To be called by the claimant. UNTRUSTED.\n Note that this function mirror payArbitrationFeeByOwner.",
            "id": 971,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 917,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 916,
                  "name": "onlyClaimant",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 686,
                  "src": "6136:12:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6136:12:3"
              }
            ],
            "name": "payArbitrationFeeByClaimant",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 915,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6118:2:3"
            },
            "payable": true,
            "returnParameters": {
              "id": 918,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6149:0:3"
            },
            "scope": 1111,
            "src": "6082:881:3",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 998,
              "nodeType": "Block",
              "src": "7135:204:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 979,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 976,
                      "name": "status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 632,
                      "src": "7145:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 977,
                        "name": "Status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 630,
                        "src": "7154:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                          "typeString": "type(enum ArbitrableDeposit.Status)"
                        }
                      },
                      "id": 978,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "DisputeCreated",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "7154:21:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Status_$630",
                        "typeString": "enum ArbitrableDeposit.Status"
                      }
                    },
                    "src": "7145:30:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Status_$630",
                      "typeString": "enum ArbitrableDeposit.Status"
                    }
                  },
                  "id": 980,
                  "nodeType": "ExpressionStatement",
                  "src": "7145:30:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 990,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 981,
                      "name": "disputeID",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 614,
                      "src": "7185:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 987,
                          "name": "AMOUNT_OF_CHOICES",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 635,
                          "src": "7246:17:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 988,
                          "name": "arbitratorExtraData",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 501,
                          "src": "7264:19:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          },
                          {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        ],
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 985,
                            "name": "_arbitrationCost",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 973,
                            "src": "7228:16:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 982,
                              "name": "arbitrator",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 499,
                              "src": "7197:10:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Arbitrator_$4021",
                                "typeString": "contract Arbitrator"
                              }
                            },
                            "id": 983,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "createDispute",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3960,
                            "src": "7197:24:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                              "typeString": "function (uint256,bytes memory) payable external returns (uint256)"
                            }
                          },
                          "id": 984,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7197:30:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value_$",
                            "typeString": "function (uint256) returns (function (uint256,bytes memory) payable external returns (uint256))"
                          }
                        },
                        "id": 986,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7197:48:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value",
                          "typeString": "function (uint256,bytes memory) payable external returns (uint256)"
                        }
                      },
                      "id": 989,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "7197:87:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7185:99:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 991,
                  "nodeType": "ExpressionStatement",
                  "src": "7185:99:3"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 993,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 499,
                        "src": "7307:10:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Arbitrator_$4021",
                          "typeString": "contract Arbitrator"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 994,
                        "name": "disputeID",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 614,
                        "src": "7319:9:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 995,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7330:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Arbitrator_$4021",
                          "typeString": "contract Arbitrator"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "id": 992,
                      "name": "Dispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 529,
                      "src": "7299:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_contract$_Arbitrator_$4021_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (contract Arbitrator,uint256,uint256)"
                      }
                    },
                    "id": 996,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7299:33:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 997,
                  "nodeType": "EmitStatement",
                  "src": "7294:38:3"
                }
              ]
            },
            "documentation": "@dev Create a dispute. UNTRUSTED.\n @param _arbitrationCost Amount to pay the arbitrator.",
            "id": 999,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "raiseDispute",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 974,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 973,
                  "name": "_arbitrationCost",
                  "nodeType": "VariableDeclaration",
                  "scope": 999,
                  "src": "7103:21:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 972,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7103:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7102:23:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 975,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7135:0:3"
            },
            "scope": 1111,
            "src": "7081:258:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 1026,
              "nodeType": "Block",
              "src": "7459:235:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$630",
                          "typeString": "enum ArbitrableDeposit.Status"
                        },
                        "id": 1008,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1005,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 632,
                          "src": "7477:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1006,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 630,
                            "src": "7487:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                              "typeString": "type(enum ArbitrableDeposit.Status)"
                            }
                          },
                          "id": 1007,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "WaitingClaimant",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7487:22:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "src": "7477:32:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "54686520636f6e7472616374206973206e6f742077616974696e6720666f722074686520636c61696d616e742e",
                        "id": 1009,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7511:47:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_aa0c0b28187bbc4f1c5ba5bb65c72e243da4b01ba59808d051976f43445793ec",
                          "typeString": "literal_string \"The contract is not waiting for the claimant.\""
                        },
                        "value": "The contract is not waiting for the claimant."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_aa0c0b28187bbc4f1c5ba5bb65c72e243da4b01ba59808d051976f43445793ec",
                          "typeString": "literal_string \"The contract is not waiting for the claimant.\""
                        }
                      ],
                      "id": 1004,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "7469:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1010,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7469:90:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1011,
                  "nodeType": "ExpressionStatement",
                  "src": "7469:90:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1017,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1013,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20641,
                          "src": "7577:3:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1016,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 1014,
                            "name": "lastInteraction",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 612,
                            "src": "7584:15:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 1015,
                            "name": "timeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 606,
                            "src": "7602:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7584:25:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7577:32:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f7420656e6f7567682074696d6520686173207061737365642e",
                        "id": 1018,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7611:29:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
                          "typeString": "literal_string \"Not enough time has passed.\""
                        },
                        "value": "Not enough time has passed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
                          "typeString": "literal_string \"Not enough time has passed.\""
                        }
                      ],
                      "id": 1012,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "7569:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1019,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7569:72:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1020,
                  "nodeType": "ExpressionStatement",
                  "src": "7569:72:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1022,
                        "name": "disputeID",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 614,
                        "src": "7666:9:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1023,
                        "name": "OWNER_WINS",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 638,
                        "src": "7676:10:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      ],
                      "id": 1021,
                      "name": "executeRuling",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        1110
                      ],
                      "referencedDeclaration": 1110,
                      "src": "7652:13:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 1024,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7652:35:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1025,
                  "nodeType": "ExpressionStatement",
                  "src": "7652:35:3"
                }
              ]
            },
            "documentation": "@dev Reimburse owner if claimant fails to pay the fee.",
            "id": 1027,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1002,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1001,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 658,
                  "src": "7449:9:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7449:9:3"
              }
            ],
            "name": "timeOutByOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1000,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7439:2:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 1003,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7459:0:3"
            },
            "scope": 1111,
            "src": "7416:278:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1054,
              "nodeType": "Block",
              "src": "7814:233:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_Status_$630",
                          "typeString": "enum ArbitrableDeposit.Status"
                        },
                        "id": 1036,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1033,
                          "name": "status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 632,
                          "src": "7832:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1034,
                            "name": "Status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 630,
                            "src": "7842:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Status_$630_$",
                              "typeString": "type(enum ArbitrableDeposit.Status)"
                            }
                          },
                          "id": 1035,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "WaitingOwner",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7842:19:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Status_$630",
                            "typeString": "enum ArbitrableDeposit.Status"
                          }
                        },
                        "src": "7832:29:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "54686520636f6e7472616374206973206e6f742077616974696e6720666f7220746865206f776e65722e",
                        "id": 1037,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7863:44:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_592fca79757d20861bffaa87906ec11fa717736b6fbf2b1500b5ce94df48c3aa",
                          "typeString": "literal_string \"The contract is not waiting for the owner.\""
                        },
                        "value": "The contract is not waiting for the owner."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_592fca79757d20861bffaa87906ec11fa717736b6fbf2b1500b5ce94df48c3aa",
                          "typeString": "literal_string \"The contract is not waiting for the owner.\""
                        }
                      ],
                      "id": 1032,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "7824:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1038,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7824:84:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1039,
                  "nodeType": "ExpressionStatement",
                  "src": "7824:84:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1045,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1041,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20641,
                          "src": "7926:3:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1044,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 1042,
                            "name": "lastInteraction",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 612,
                            "src": "7933:15:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 1043,
                            "name": "timeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 606,
                            "src": "7951:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7933:25:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7926:32:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f7420656e6f7567682074696d6520686173207061737365642e",
                        "id": 1046,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7960:29:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
                          "typeString": "literal_string \"Not enough time has passed.\""
                        },
                        "value": "Not enough time has passed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
                          "typeString": "literal_string \"Not enough time has passed.\""
                        }
                      ],
                      "id": 1040,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "7918:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1047,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7918:72:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1048,
                  "nodeType": "ExpressionStatement",
                  "src": "7918:72:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1050,
                        "name": "disputeID",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 614,
                        "src": "8015:9:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1051,
                        "name": "CLAIMANT_WINS",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 641,
                        "src": "8026:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      ],
                      "id": 1049,
                      "name": "executeRuling",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        1110
                      ],
                      "referencedDeclaration": 1110,
                      "src": "8001:13:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 1052,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8001:39:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1053,
                  "nodeType": "ExpressionStatement",
                  "src": "8001:39:3"
                }
              ]
            },
            "documentation": "@dev Pay claimant if owner fails to pay the fee.",
            "id": 1055,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1030,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1029,
                  "name": "onlyClaimant",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 686,
                  "src": "7801:12:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7801:12:3"
              }
            ],
            "name": "timeOutByClaimant",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1028,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7791:2:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 1031,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7814:0:3"
            },
            "scope": 1111,
            "src": "7765:282:3",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1109,
              "nodeType": "Block",
              "src": "8453:380:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1065,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1063,
                          "name": "_disputeID",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1057,
                          "src": "8471:10:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1064,
                          "name": "disputeID",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 614,
                          "src": "8485:9:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "8471:23:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "57726f6e6720646973707574652049442e",
                        "id": 1066,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8496:19:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_592f5101973b6cc3d369ba410fae1f41cd87e7dce28c818774c5095e76af8c1e",
                          "typeString": "literal_string \"Wrong dispute ID.\""
                        },
                        "value": "Wrong dispute ID."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_592f5101973b6cc3d369ba410fae1f41cd87e7dce28c818774c5095e76af8c1e",
                          "typeString": "literal_string \"Wrong dispute ID.\""
                        }
                      ],
                      "id": 1062,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "8463:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1067,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8463:53:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1068,
                  "nodeType": "ExpressionStatement",
                  "src": "8463:53:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1072,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1070,
                          "name": "_ruling",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1059,
                          "src": "8534:7:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1071,
                          "name": "AMOUNT_OF_CHOICES",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 635,
                          "src": "8545:17:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "src": "8534:28:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c69642072756c696e672e",
                        "id": 1073,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8564:17:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6",
                          "typeString": "literal_string \"Invalid ruling.\""
                        },
                        "value": "Invalid ruling."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6",
                          "typeString": "literal_string \"Invalid ruling.\""
                        }
                      ],
                      "id": 1069,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20642,
                        20643
                      ],
                      "referencedDeclaration": 20643,
                      "src": "8526:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1074,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8526:56:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1075,
                  "nodeType": "ExpressionStatement",
                  "src": "8526:56:3"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1078,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 1076,
                      "name": "_ruling",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1059,
                      "src": "8597:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 1077,
                      "name": "OWNER_WINS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 638,
                      "src": "8608:10:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "src": "8597:21:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 1096,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 1094,
                        "name": "_ruling",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1059,
                        "src": "8743:7:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 1095,
                        "name": "CLAIMANT_WINS",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 641,
                        "src": "8754:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "src": "8743:24:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 1103,
                    "nodeType": "IfStatement",
                    "src": "8739:67:3",
                    "trueBody": {
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1100,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 616,
                            "src": "8799:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 1097,
                            "name": "claimant",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 604,
                            "src": "8781:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 1099,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "transfer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8781:17:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                            "typeString": "function (uint256)"
                          }
                        },
                        "id": 1101,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8781:25:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$__$",
                          "typeString": "tuple()"
                        }
                      },
                      "id": 1102,
                      "nodeType": "ExpressionStatement",
                      "src": "8781:25:3"
                    }
                  },
                  "id": 1104,
                  "nodeType": "IfStatement",
                  "src": "8593:213:3",
                  "trueBody": {
                    "id": 1093,
                    "nodeType": "Block",
                    "src": "8620:113:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 1084,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 1082,
                                "name": "amount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 616,
                                "src": "8649:6:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 1083,
                                "name": "claimAmount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 618,
                                "src": "8658:11:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "8649:20:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 1079,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 602,
                              "src": "8634:5:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 1081,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "transfer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "8634:14:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 1085,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8634:36:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 1086,
                        "nodeType": "ExpressionStatement",
                        "src": "8634:36:3"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 1090,
                              "name": "claimResponseAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 622,
                              "src": "8702:19:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 1087,
                              "name": "claimant",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 604,
                              "src": "8684:8:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 1089,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "transfer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "8684:17:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 1091,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8684:38:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 1092,
                        "nodeType": "ExpressionStatement",
                        "src": "8684:38:3"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1105,
                      "name": "amount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 616,
                      "src": "8816:6:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 1106,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8825:1:3",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "8816:10:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 1108,
                  "nodeType": "ExpressionStatement",
                  "src": "8816:10:3"
                }
              ]
            },
            "documentation": "@dev Execute a ruling of a dispute. Pays parties respective amounts based on ruling.\n This needs to be extended by contract inheriting from it.\n @param _disputeID ID of the dispute in the Arbitrator contract.\n @param _ruling Ruling given by the arbitrator. 1 : Allow owner deposit. 2 : Pay claimant.",
            "id": 1110,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "executeRuling",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1060,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1057,
                  "name": "_disputeID",
                  "nodeType": "VariableDeclaration",
                  "scope": 1110,
                  "src": "8413:15:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1056,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8413:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1059,
                  "name": "_ruling",
                  "nodeType": "VariableDeclaration",
                  "scope": 1110,
                  "src": "8430:12:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1058,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8430:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8412:31:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 1061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8453:0:3"
            },
            "scope": 1111,
            "src": "8390:443:3",
            "stateMutability": "nonpayable",
            "superFunction": 594,
            "visibility": "internal"
          }
        ],
        "scope": 1112,
        "src": "652:8183:3"
      }
    ],
    "src": "170:8666:3"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-11-02T14:04:10.951Z"
}