{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IOracle",
          "name": "_oracle",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_BondEscalationCantBeSettled",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_BondEscalationNotOver",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_BondEscalationOver",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_CanOnlySurpassByOnePledge",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_CanOnlyTieDuringTyingBuffer",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_DisputeDoesNotExist",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_DisputeNotEscalated",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_DisputeWindowOver",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_InvalidEscalationParameters",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_MaxNumberOfEscalationsReached",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_NotEscalatable",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_ShouldBeEscalated",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationModule_ZeroValue",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Module_OnlyOracle",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IBondEscalationModule.BondEscalationStatus",
          "name": "_status",
          "type": "uint8"
        }
      ],
      "name": "BondEscalationStatusUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "enum IOracle.DisputeStatus",
          "name": "_status",
          "type": "uint8"
        }
      ],
      "name": "DisputeStatusChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "PledgedInFavorOfDisputer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "PledgedInFavorOfProposer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "RequestFinalized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        }
      ],
      "name": "ResponseDisputed",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "ORACLE",
      "outputs": [
        {
          "internalType": "contract IOracle",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "decodeRequestData",
      "outputs": [
        {
          "components": [
            {
              "internalType": "contract IBondEscalationAccounting",
              "name": "accountingExtension",
              "type": "address"
            },
            {
              "internalType": "contract IERC20",
              "name": "bondToken",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "bondSize",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxNumberOfEscalations",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "bondEscalationDeadline",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "tyingBuffer",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "disputeWindow",
              "type": "uint256"
            }
          ],
          "internalType": "struct IBondEscalationModule.RequestParameters",
          "name": "_params",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "disputeEscalated",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        }
      ],
      "name": "disputeResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "proposer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "responseId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "status",
              "type": "uint8"
            }
          ],
          "internalType": "struct IOracle.Dispute",
          "name": "_dispute",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "finalizeRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "getEscalation",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "enum IBondEscalationModule.BondEscalationStatus",
              "name": "status",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "amountOfPledgesForDispute",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amountOfPledgesAgainstDispute",
              "type": "uint256"
            }
          ],
          "internalType": "struct IBondEscalationModule.BondEscalation",
          "name": "_escalation",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "moduleName",
      "outputs": [
        {
          "internalType": "string",
          "name": "_moduleName",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "proposer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "responseId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "status",
              "type": "uint8"
            }
          ],
          "internalType": "struct IOracle.Dispute",
          "name": "_dispute",
          "type": "tuple"
        }
      ],
      "name": "onDisputeStatusChange",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "_oracle",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "pledgeAgainstDispute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "pledgeForDispute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        }
      ],
      "name": "pledgesAgainstDispute",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "pledges",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        }
      ],
      "name": "pledgesForDispute",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "pledges",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "requestData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "_requestData",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "settleBondEscalation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "setupRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x60a060405234801561001057600080fd5b506040516200258b3803806200258b83398101604081905261003191610042565b6001600160a01b0316608052610072565b60006020828403121561005457600080fd5b81516001600160a01b038116811461006b57600080fd5b9392505050565b6080516124be620000cd600039600081816101a3015281816102a20152818161039b01528181610434015281816104a701528181610cd101528181610d5a01528181610fa00152818161104c01526118f101526124be6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80637068639f1161009757806398660c181161006657806398660c18146103125780639afaec50146103325780639debee3014610345578063ef940cef1461035857600080fd5b80637068639f146102805780637dc0d1d0146102a05780637fadb88d146102c657806393f0899a146102d957600080fd5b80633661346b116100d35780633661346b1461017e57806338013f021461019e57806349646830146101ea5780634d610a46146101fd57600080fd5b8063076404dc146101055780632e76be2a14610143578063309de6071461015857806334837c291461016b575b600080fd5b610130610113366004611c30565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b610156610151366004611c60565b610383565b005b610156610166366004611c30565b61041c565b610156610179366004611db8565b61048f565b61019161018c366004611e4a565b61090b565b60405161013a9190611eb3565b6101c57f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013a565b6101566101f8366004611e4a565b6109a5565b61021061020b366004611e4a565b610b05565b60405161013a9190600060e08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401525060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015292915050565b61029361028e366004611e4a565b610c21565b60405161013a9190611f10565b7f00000000000000000000000000000000000000000000000000000000000000006101c5565b6101566102d4366004611e4a565b610cb9565b60408051808201909152601481527f426f6e64457363616c6174696f6e4d6f64756c650000000000000000000000006020820152610191565b610325610320366004611f46565b610f52565b60405161013a9190611fa0565b610156610340366004611e4a565b6113b2565b610156610353366004611e4a565b61165a565b610130610366366004611c30565b600260209081526000928352604080842090915290825290205481565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103f2576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260208190526040902061040b8284836120aa565b506104178383836117ba565b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461048b576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146104fe576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061050d8260800151610b05565b9050600060038360a00151600581111561052957610529611ecd565b149050816000015173ffffffffffffffffffffffffffffffffffffffff1663cab0e418846080015183610560578560200151610566565b85604001515b8461057557866040015161057b565b86602001515b602087015160408089015190517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b168152600481019590955273ffffffffffffffffffffffffffffffffffffffff93841660248601529183166044850152919091166064830152608482015260a401600060405180830381600087803b15801561060957600080fd5b505af115801561061d573d6000803e3d6000fd5b50505050816000015173ffffffffffffffffffffffffffffffffffffffff1663a6d09dc882610650578460400151610656565b84602001515b6080860151602086015160408088015190517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16815273ffffffffffffffffffffffffffffffffffffffff94851660048201526024810193909352921660448201526064810191909152608401600060405180830381600087803b1580156106e257600080fd5b505af11580156106f6573d6000803e3d6000fd5b505050506080830151600090815260036020526040902080548514801561073557506002600182015460ff16600481111561073357610733611ecd565b145b156108b257806003015460000361074d575050505050565b60008261075b57600361075e565b60045b9050808260010160006101000a81548160ff0219169083600481111561078657610786611ecd565b02179055508585608001517f7321d41e15b6e1528c11d6a510979859cdbecc491a1b5f248ac7ac37f6d93ee6836040516107c091906121a7565b60405180910390a3836000015173ffffffffffffffffffffffffffffffffffffffff1663e517a1f786608001518886886020015160018a60400151901b8961080c578860030154610812565b88600201545b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815260048101969096526024860194909452911515604485015273ffffffffffffffffffffffffffffffffffffffff166064840152608483015260a482015260c401600060405180830381600087803b15801561089857600080fd5b505af11580156108ac573d6000803e3d6000fd5b50505050505b83608001517f9a96d939e838e8499325cdd0ab8ada4766e4783add4060e6e328f6a5113c60718560600151866020015187604001518860a001516040516108fc94939291906121b5565b60405180910390a25050505050565b6000602081905290815260409020805461092490612009565b80601f016020809104026020016040519081016040528092919081815260200182805461095090612009565b801561099d5780601f106109725761010080835404028352916020019161099d565b820191906000526020600020905b81548152906001019060200180831161098057829003601f168201915b505050505081565b6000806109b3836001611816565b600082815260036020526040812060020180549395509193506001926109da9084906121f6565b909155505060008281526001602081815260408084203385529091528220805491929091610a099084906121f6565b90915550508051602082015160408084015190517f2c61d33c000000000000000000000000000000000000000000000000000000008152336004820152602481018690526044810187905273ffffffffffffffffffffffffffffffffffffffff92831660648201526084810191909152911690632c61d33c9060a401600060405180830381600087803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b5050505080604001513373ffffffffffffffffffffffffffffffffffffffff16847f6ec006063fa149998ddb865f7e6cfed978cd521d6c06c556c8355d7dc3da6c5960405160405180910390a4505050565b610b716040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008281526020819052604090208054610b8a90612009565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb690612009565b8015610c035780601f10610bd857610100808354040283529160200191610c03565b820191906000526020600020905b815481529060010190602001808311610be657829003601f168201915b5050505050806020019051810190610c1b9190612230565b92915050565b610c4d604080516080810190915260008082526020820190815260200160008152602001600081525090565b600082815260036020908152604091829020825160808101909352805483526001810154909183019060ff166004811115610c8a57610c8a611ecd565b6004811115610c9b57610c9b611ecd565b81526002820154602082015260039091015460409091015292915050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610d28576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda91906122a8565b608081015160008181526003602052604090209192509081610e28576040517f0396414500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548403610f4c576000610e3b83610b05565b905080608001514211610e7a576040517f3dec5dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018083015460ff166004811115610e9457610e94611ecd565b141580610ea957508160030154826002015414155b15610ee0576040517f6c886a9300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002908117909155604051869185917f7321d41e15b6e1528c11d6a510979859cdbecc491a1b5f248ac7ac37f6d93ee691610f42916121a7565b60405180910390a3505b50505050565b610f886040805160c08101825260008082526020820181905291810182905260608101829052608081018290529060a082015290565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ff7576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061100286610b05565b6040517f415a2bc10000000000000000000000000000000000000000000000000000000081526004810187905290915060009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063415a2bc190602401600060405180830381865afa158015611093573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110bb919081019061231c565b60c083015181519192506110ce916121f6565b421115611107576040517fc1485a8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008781526003602052604090206080830151421115611153576040517fd53b827d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600182015460ff16600481111561116e5761116e611ecd565b0361123e57600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055604051606087901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820152603481018990526054810188905260009060740160408051601f19818403018152908290528051602090910120808455915081908a907f7321d41e15b6e1528c11d6a510979859cdbecc491a1b5f248ac7ac37f6d93ee690611234906001906121a7565b60405180910390a3505b6040518060c001604052804281526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff168152602001888152602001898152602001600160058111156112a6576112a6611ecd565b90528351602085015160408087015190517fbba9f26f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152602482018e905292831660448201526064810191909152929650169063bba9f26f90608401600060405180830381600087803b15801561133657600080fd5b505af115801561134a573d6000803e3d6000fd5b5050604080518a815273ffffffffffffffffffffffffffffffffffffffff8a8116602083015289168183015290518b93507f10d26bcb7d6ba7d73ccfb97211024d458d277dce4abe8206bc5346aa4e55cd1e92509081900360600190a2505050949350505050565b60006113bd82610b05565b600083815260036020526040902060a0820151608083015192935090916113e491906121f6565b421161141c576040517f3dec5dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018082015460ff16600481111561143657611436611ecd565b1461146d576040517f7b45fd7100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600281015460038201548082036114b0576040517fba7a57f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082116000816114dd576114c984876040015185611bcf565b86604001516114d891906121f6565b6114fb565b6114ec83876040015186611bcf565b86604001516114fb91906121f6565b905060008261150b57600361150e565b60045b9050808660010160006101000a81548160ff0219169083600481111561153657611536611ecd565b02179055508560000154887f7321d41e15b6e1528c11d6a510979859cdbecc491a1b5f248ac7ac37f6d93ee68360405161157091906121a7565b60405180910390a3866000015173ffffffffffffffffffffffffffffffffffffffff1663e517a1f7898860000154868b6020015187896115b0578a6115b2565b8b5b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815260048101969096526024860194909452911515604485015273ffffffffffffffffffffffffffffffffffffffff166064840152608483015260a482015260c401600060405180830381600087803b15801561163857600080fd5b505af115801561164c573d6000803e3d6000fd5b505050505050505050505050565b600080611668836000611816565b6000828152600360208190526040822001805493955091935060019261168f9084906121f6565b9091555050600082815260026020908152604080832033845290915281208054600192906116be9084906121f6565b90915550508051602082015160408084015190517f2c61d33c000000000000000000000000000000000000000000000000000000008152336004820152602481018690526044810187905273ffffffffffffffffffffffffffffffffffffffff92831660648201526084810191909152911690632c61d33c9060a401600060405180830381600087803b15801561175457600080fd5b505af1158015611768573d6000803e3d6000fd5b5050505080604001513373ffffffffffffffffffffffffffffffffffffffff16847f3a48d55c6657f7a9112ecbe53292735822d7cd7a31fb5e59c4b46fc86bf9398360405160405180910390a4505050565b60006117c882840184612410565b90508060600151600014806117df57506040810151155b15610f4c576040517fb0a7ec4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006118846040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008490036118bf576040517f0396414500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018590526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa15801561194d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197191906122a8565b608080820151600081815260036020908152604080832081519586019091528054855260018101549398509495509093919083019060ff1660048111156119ba576119ba611ecd565b60048111156119cb576119cb611ecd565b81526002820154602082015260039091015460409091015280519091508614611a20576040517fed147c8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a2984610b05565b92508260a001518360800151611a3f91906121f6565b421115611a78576040517fd53b827d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160608201518615611b045784606001518203611ac5576040517f87459fd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115611aff576040517f752e057300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7b565b84606001518103611b41576040517f87459fd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81811115611b7b576040517f752e057300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846080015142118015611b8d57508082145b15611bc4576040517fb82c533000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050509250929050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0484118302158202611c0457600080fd5b5091020490565b73ffffffffffffffffffffffffffffffffffffffff81168114611c2d57600080fd5b50565b60008060408385031215611c4357600080fd5b823591506020830135611c5581611c0b565b809150509250929050565b600080600060408486031215611c7557600080fd5b83359250602084013567ffffffffffffffff80821115611c9457600080fd5b818601915086601f830112611ca857600080fd5b813581811115611cb757600080fd5b876020828501011115611cc957600080fd5b6020830194508093505050509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611d2e57611d2e611cdc565b60405290565b60405160e0810167ffffffffffffffff81118282101715611d2e57611d2e611cdc565b60405160a0810167ffffffffffffffff81118282101715611d2e57611d2e611cdc565b604051601f8201601f1916810167ffffffffffffffff81118282101715611da357611da3611cdc565b604052919050565b60068110611c2d57600080fd5b60008082840360e0811215611dcc57600080fd5b8335925060c0601f1982011215611de257600080fd5b50611deb611d0b565b602084013581526040840135611e0081611c0b565b60208201526060840135611e1381611c0b565b6040820152608084810135606083015260a08501359082015260c0840135611e3a81611dab565b60a0820152919491935090915050565b600060208284031215611e5c57600080fd5b5035919050565b60005b83811015611e7e578181015183820152602001611e66565b50506000910152565b60008151808452611e9f816020860160208601611e63565b601f01601f19169290920160200192915050565b602081526000611ec66020830184611e87565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60058110611f0c57611f0c611ecd565b9052565b815181526020808301516080830191611f2b90840182611efc565b50604083015160408301526060830151606083015292915050565b60008060008060808587031215611f5c57600080fd5b84359350602085013592506040850135611f7581611c0b565b91506060850135611f8581611c0b565b939692955090935050565b60068110611f0c57611f0c611ecd565b600060c08201905082518252602083015173ffffffffffffffffffffffffffffffffffffffff80821660208501528060408601511660408501525050606083015160608301526080830151608083015260a083015161200260a0840182611f90565b5092915050565b600181811c9082168061201d57607f821691505b602082108103612056577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561041757600081815260208120601f850160051c810160208610156120835750805b601f850160051c820191505b818110156120a25782815560010161208f565b505050505050565b67ffffffffffffffff8311156120c2576120c2611cdc565b6120d6836120d08354612009565b8361205c565b6000601f84116001811461212857600085156120f25750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556121a0565b600083815260209020601f19861690835b828110156121595786850135825560209485019460019092019101612139565b5086821015612194577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208101610c1b8284611efc565b84815273ffffffffffffffffffffffffffffffffffffffff848116602083015283166040820152608081016121ed6060830184611f90565b95945050505050565b80820180821115610c1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060e0828403121561224257600080fd5b61224a611d34565b825161225581611c0b565b8152602083015161226581611c0b565b8060208301525060408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201528091505092915050565b600060c082840312156122ba57600080fd5b6122c2611d0b565b8251815260208301516122d481611c0b565b602082015260408301516122e781611c0b565b80604083015250606083015160608201526080830151608082015260a083015161231081611dab565b60a08201529392505050565b6000602080838503121561232f57600080fd5b825167ffffffffffffffff8082111561234757600080fd5b9084019060a0828703121561235b57600080fd5b612363611d57565b825181528383015161237481611c0b565b80858301525060408301516040820152606083015160608201526080830151828111156123a057600080fd5b80840193505086601f8401126123b557600080fd5b8251828111156123c7576123c7611cdc565b6123d985601f19601f84011601611d7a565b925080835287858286010111156123ef57600080fd5b6123fe81868501878701611e63565b50608081019190915295945050505050565b600060e0828403121561242257600080fd5b61242a611d34565b823561243581611c0b565b8152602083013561244581611c0b565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c0820152809150509291505056fea2646970667358221220fbd60455dff26023ddaa91114e3556cc4e1ba2a69cce4f2282d5b4f17516e0b464736f6c63430008130033",
    "sourceMap": "488:11439:41:-:0;;;1155:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;353:16:0;;;488:11439:41;;14:306:113;100:6;153:2;141:9;132:7;128:23;124:32;121:52;;;169:1;166;159:12;121:52;195:16;;-1:-1:-1;;;;;240:31:113;;230:42;;220:70;;286:1;283;276:12;220:70;309:5;14:306;-1:-1:-1;;;14:306:113:o;:::-;488:11439:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80637068639f1161009757806398660c181161006657806398660c18146103125780639afaec50146103325780639debee3014610345578063ef940cef1461035857600080fd5b80637068639f146102805780637dc0d1d0146102a05780637fadb88d146102c657806393f0899a146102d957600080fd5b80633661346b116100d35780633661346b1461017e57806338013f021461019e57806349646830146101ea5780634d610a46146101fd57600080fd5b8063076404dc146101055780632e76be2a14610143578063309de6071461015857806334837c291461016b575b600080fd5b610130610113366004611c30565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b610156610151366004611c60565b610383565b005b610156610166366004611c30565b61041c565b610156610179366004611db8565b61048f565b61019161018c366004611e4a565b61090b565b60405161013a9190611eb3565b6101c57f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013a565b6101566101f8366004611e4a565b6109a5565b61021061020b366004611e4a565b610b05565b60405161013a9190600060e08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401525060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015292915050565b61029361028e366004611e4a565b610c21565b60405161013a9190611f10565b7f00000000000000000000000000000000000000000000000000000000000000006101c5565b6101566102d4366004611e4a565b610cb9565b60408051808201909152601481527f426f6e64457363616c6174696f6e4d6f64756c650000000000000000000000006020820152610191565b610325610320366004611f46565b610f52565b60405161013a9190611fa0565b610156610340366004611e4a565b6113b2565b610156610353366004611e4a565b61165a565b610130610366366004611c30565b600260209081526000928352604080842090915290825290205481565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103f2576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260208190526040902061040b8284836120aa565b506104178383836117ba565b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461048b576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146104fe576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061050d8260800151610b05565b9050600060038360a00151600581111561052957610529611ecd565b149050816000015173ffffffffffffffffffffffffffffffffffffffff1663cab0e418846080015183610560578560200151610566565b85604001515b8461057557866040015161057b565b86602001515b602087015160408089015190517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b168152600481019590955273ffffffffffffffffffffffffffffffffffffffff93841660248601529183166044850152919091166064830152608482015260a401600060405180830381600087803b15801561060957600080fd5b505af115801561061d573d6000803e3d6000fd5b50505050816000015173ffffffffffffffffffffffffffffffffffffffff1663a6d09dc882610650578460400151610656565b84602001515b6080860151602086015160408088015190517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16815273ffffffffffffffffffffffffffffffffffffffff94851660048201526024810193909352921660448201526064810191909152608401600060405180830381600087803b1580156106e257600080fd5b505af11580156106f6573d6000803e3d6000fd5b505050506080830151600090815260036020526040902080548514801561073557506002600182015460ff16600481111561073357610733611ecd565b145b156108b257806003015460000361074d575050505050565b60008261075b57600361075e565b60045b9050808260010160006101000a81548160ff0219169083600481111561078657610786611ecd565b02179055508585608001517f7321d41e15b6e1528c11d6a510979859cdbecc491a1b5f248ac7ac37f6d93ee6836040516107c091906121a7565b60405180910390a3836000015173ffffffffffffffffffffffffffffffffffffffff1663e517a1f786608001518886886020015160018a60400151901b8961080c578860030154610812565b88600201545b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815260048101969096526024860194909452911515604485015273ffffffffffffffffffffffffffffffffffffffff166064840152608483015260a482015260c401600060405180830381600087803b15801561089857600080fd5b505af11580156108ac573d6000803e3d6000fd5b50505050505b83608001517f9a96d939e838e8499325cdd0ab8ada4766e4783add4060e6e328f6a5113c60718560600151866020015187604001518860a001516040516108fc94939291906121b5565b60405180910390a25050505050565b6000602081905290815260409020805461092490612009565b80601f016020809104026020016040519081016040528092919081815260200182805461095090612009565b801561099d5780601f106109725761010080835404028352916020019161099d565b820191906000526020600020905b81548152906001019060200180831161098057829003601f168201915b505050505081565b6000806109b3836001611816565b600082815260036020526040812060020180549395509193506001926109da9084906121f6565b909155505060008281526001602081815260408084203385529091528220805491929091610a099084906121f6565b90915550508051602082015160408084015190517f2c61d33c000000000000000000000000000000000000000000000000000000008152336004820152602481018690526044810187905273ffffffffffffffffffffffffffffffffffffffff92831660648201526084810191909152911690632c61d33c9060a401600060405180830381600087803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b5050505080604001513373ffffffffffffffffffffffffffffffffffffffff16847f6ec006063fa149998ddb865f7e6cfed978cd521d6c06c556c8355d7dc3da6c5960405160405180910390a4505050565b610b716040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008281526020819052604090208054610b8a90612009565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb690612009565b8015610c035780601f10610bd857610100808354040283529160200191610c03565b820191906000526020600020905b815481529060010190602001808311610be657829003601f168201915b5050505050806020019051810190610c1b9190612230565b92915050565b610c4d604080516080810190915260008082526020820190815260200160008152602001600081525090565b600082815260036020908152604091829020825160808101909352805483526001810154909183019060ff166004811115610c8a57610c8a611ecd565b6004811115610c9b57610c9b611ecd565b81526002820154602082015260039091015460409091015292915050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610d28576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda91906122a8565b608081015160008181526003602052604090209192509081610e28576040517f0396414500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548403610f4c576000610e3b83610b05565b905080608001514211610e7a576040517f3dec5dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018083015460ff166004811115610e9457610e94611ecd565b141580610ea957508160030154826002015414155b15610ee0576040517f6c886a9300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002908117909155604051869185917f7321d41e15b6e1528c11d6a510979859cdbecc491a1b5f248ac7ac37f6d93ee691610f42916121a7565b60405180910390a3505b50505050565b610f886040805160c08101825260008082526020820181905291810182905260608101829052608081018290529060a082015290565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ff7576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061100286610b05565b6040517f415a2bc10000000000000000000000000000000000000000000000000000000081526004810187905290915060009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063415a2bc190602401600060405180830381865afa158015611093573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110bb919081019061231c565b60c083015181519192506110ce916121f6565b421115611107576040517fc1485a8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008781526003602052604090206080830151421115611153576040517fd53b827d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600182015460ff16600481111561116e5761116e611ecd565b0361123e57600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055604051606087901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820152603481018990526054810188905260009060740160408051601f19818403018152908290528051602090910120808455915081908a907f7321d41e15b6e1528c11d6a510979859cdbecc491a1b5f248ac7ac37f6d93ee690611234906001906121a7565b60405180910390a3505b6040518060c001604052804281526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff168152602001888152602001898152602001600160058111156112a6576112a6611ecd565b90528351602085015160408087015190517fbba9f26f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152602482018e905292831660448201526064810191909152929650169063bba9f26f90608401600060405180830381600087803b15801561133657600080fd5b505af115801561134a573d6000803e3d6000fd5b5050604080518a815273ffffffffffffffffffffffffffffffffffffffff8a8116602083015289168183015290518b93507f10d26bcb7d6ba7d73ccfb97211024d458d277dce4abe8206bc5346aa4e55cd1e92509081900360600190a2505050949350505050565b60006113bd82610b05565b600083815260036020526040902060a0820151608083015192935090916113e491906121f6565b421161141c576040517f3dec5dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018082015460ff16600481111561143657611436611ecd565b1461146d576040517f7b45fd7100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600281015460038201548082036114b0576040517fba7a57f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082116000816114dd576114c984876040015185611bcf565b86604001516114d891906121f6565b6114fb565b6114ec83876040015186611bcf565b86604001516114fb91906121f6565b905060008261150b57600361150e565b60045b9050808660010160006101000a81548160ff0219169083600481111561153657611536611ecd565b02179055508560000154887f7321d41e15b6e1528c11d6a510979859cdbecc491a1b5f248ac7ac37f6d93ee68360405161157091906121a7565b60405180910390a3866000015173ffffffffffffffffffffffffffffffffffffffff1663e517a1f7898860000154868b6020015187896115b0578a6115b2565b8b5b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815260048101969096526024860194909452911515604485015273ffffffffffffffffffffffffffffffffffffffff166064840152608483015260a482015260c401600060405180830381600087803b15801561163857600080fd5b505af115801561164c573d6000803e3d6000fd5b505050505050505050505050565b600080611668836000611816565b6000828152600360208190526040822001805493955091935060019261168f9084906121f6565b9091555050600082815260026020908152604080832033845290915281208054600192906116be9084906121f6565b90915550508051602082015160408084015190517f2c61d33c000000000000000000000000000000000000000000000000000000008152336004820152602481018690526044810187905273ffffffffffffffffffffffffffffffffffffffff92831660648201526084810191909152911690632c61d33c9060a401600060405180830381600087803b15801561175457600080fd5b505af1158015611768573d6000803e3d6000fd5b5050505080604001513373ffffffffffffffffffffffffffffffffffffffff16847f3a48d55c6657f7a9112ecbe53292735822d7cd7a31fb5e59c4b46fc86bf9398360405160405180910390a4505050565b60006117c882840184612410565b90508060600151600014806117df57506040810151155b15610f4c576040517fb0a7ec4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006118846040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008490036118bf576040517f0396414500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018590526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa15801561194d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197191906122a8565b608080820151600081815260036020908152604080832081519586019091528054855260018101549398509495509093919083019060ff1660048111156119ba576119ba611ecd565b60048111156119cb576119cb611ecd565b81526002820154602082015260039091015460409091015280519091508614611a20576040517fed147c8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a2984610b05565b92508260a001518360800151611a3f91906121f6565b421115611a78576040517fd53b827d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160608201518615611b045784606001518203611ac5576040517f87459fd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115611aff576040517f752e057300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7b565b84606001518103611b41576040517f87459fd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81811115611b7b576040517f752e057300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846080015142118015611b8d57508082145b15611bc4576040517fb82c533000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050509250929050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0484118302158202611c0457600080fd5b5091020490565b73ffffffffffffffffffffffffffffffffffffffff81168114611c2d57600080fd5b50565b60008060408385031215611c4357600080fd5b823591506020830135611c5581611c0b565b809150509250929050565b600080600060408486031215611c7557600080fd5b83359250602084013567ffffffffffffffff80821115611c9457600080fd5b818601915086601f830112611ca857600080fd5b813581811115611cb757600080fd5b876020828501011115611cc957600080fd5b6020830194508093505050509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611d2e57611d2e611cdc565b60405290565b60405160e0810167ffffffffffffffff81118282101715611d2e57611d2e611cdc565b60405160a0810167ffffffffffffffff81118282101715611d2e57611d2e611cdc565b604051601f8201601f1916810167ffffffffffffffff81118282101715611da357611da3611cdc565b604052919050565b60068110611c2d57600080fd5b60008082840360e0811215611dcc57600080fd5b8335925060c0601f1982011215611de257600080fd5b50611deb611d0b565b602084013581526040840135611e0081611c0b565b60208201526060840135611e1381611c0b565b6040820152608084810135606083015260a08501359082015260c0840135611e3a81611dab565b60a0820152919491935090915050565b600060208284031215611e5c57600080fd5b5035919050565b60005b83811015611e7e578181015183820152602001611e66565b50506000910152565b60008151808452611e9f816020860160208601611e63565b601f01601f19169290920160200192915050565b602081526000611ec66020830184611e87565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60058110611f0c57611f0c611ecd565b9052565b815181526020808301516080830191611f2b90840182611efc565b50604083015160408301526060830151606083015292915050565b60008060008060808587031215611f5c57600080fd5b84359350602085013592506040850135611f7581611c0b565b91506060850135611f8581611c0b565b939692955090935050565b60068110611f0c57611f0c611ecd565b600060c08201905082518252602083015173ffffffffffffffffffffffffffffffffffffffff80821660208501528060408601511660408501525050606083015160608301526080830151608083015260a083015161200260a0840182611f90565b5092915050565b600181811c9082168061201d57607f821691505b602082108103612056577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561041757600081815260208120601f850160051c810160208610156120835750805b601f850160051c820191505b818110156120a25782815560010161208f565b505050505050565b67ffffffffffffffff8311156120c2576120c2611cdc565b6120d6836120d08354612009565b8361205c565b6000601f84116001811461212857600085156120f25750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556121a0565b600083815260209020601f19861690835b828110156121595786850135825560209485019460019092019101612139565b5086821015612194577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208101610c1b8284611efc565b84815273ffffffffffffffffffffffffffffffffffffffff848116602083015283166040820152608081016121ed6060830184611f90565b95945050505050565b80820180821115610c1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060e0828403121561224257600080fd5b61224a611d34565b825161225581611c0b565b8152602083015161226581611c0b565b8060208301525060408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201528091505092915050565b600060c082840312156122ba57600080fd5b6122c2611d0b565b8251815260208301516122d481611c0b565b602082015260408301516122e781611c0b565b80604083015250606083015160608201526080830151608082015260a083015161231081611dab565b60a08201529392505050565b6000602080838503121561232f57600080fd5b825167ffffffffffffffff8082111561234757600080fd5b9084019060a0828703121561235b57600080fd5b612363611d57565b825181528383015161237481611c0b565b80858301525060408301516040820152606083015160608201526080830151828111156123a057600080fd5b80840193505086601f8401126123b557600080fd5b8251828111156123c7576123c7611cdc565b6123d985601f19601f84011601611d7a565b925080835287858286010111156123ef57600080fd5b6123fe81868501878701611e63565b50608081019190915295945050505050565b600060e0828403121561242257600080fd5b61242a611d34565b823561243581611c0b565b8152602083013561244581611c0b565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c0820152809150509291505056fea2646970667358221220fbd60455dff26023ddaa91114e3556cc4e1ba2a69cce4f2282d5b4f17516e0b464736f6c63430008130033",
    "sourceMap": "488:11439:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;595:100;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;639:25:113;;;627:2;612:18;595:100:41;;;;;;;;695:175:0;;;;;;:::i;:::-;;:::i;:::-;;900:95;;;;;;:::i;:::-;;:::i;4453:1848:41:-;;;;;;:::i;:::-;;:::i;237:68:0:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;201:31::-;;;;;;;;4994:42:113;4982:55;;;4964:74;;4952:2;4937:18;201:31:0;4802:242:113;6544:548:41;;;;;;:::i;:::-;;:::i;11554:179::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;5213:4:113;5255:3;5244:9;5240:19;5232:27;;5278:42;5366:2;5357:6;5351:13;5347:22;5336:9;5329:41;5438:2;5430:4;5422:6;5418:17;5412:24;5408:33;5401:4;5390:9;5386:20;5379:63;;5498:4;5490:6;5486:17;5480:24;5473:4;5462:9;5458:20;5451:54;5561:4;5553:6;5549:17;5543:24;5536:4;5525:9;5521:20;5514:54;5624:4;5616:6;5612:17;5606:24;5599:4;5588:9;5584:20;5577:54;5687:4;5679:6;5675:17;5669:24;5662:4;5651:9;5647:20;5640:54;5750:4;5742:6;5738:17;5732:24;5725:4;5714:9;5710:20;5703:54;5049:714;;;;;11777:148:41;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;571:94:0:-;653:6;571:94;;1823:972:41;;;;;;:::i;:::-;;:::i;1232:112::-;1310:29;;;;;;;;;;;;;;;;;1232:112;;2839:1570;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7741:1693::-;;;;;;:::i;:::-;;:::i;7136:561::-;;;;;;:::i;:::-;;:::i;740:104::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;695:175:0;472:10;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;791:11:::1;:23:::0;;;::::1;::::0;;;;;;:31:::1;817:5:::0;;791:23;:31:::1;:::i;:::-;;828:37;847:10;859:5;;828:18;:37::i;:::-;695:175:::0;;;:::o;900:95::-;472:10;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;900:95;;:::o;4453:1848:41:-;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;4563:32:41::1;4598:37;4616:8;:18;;;4598:17;:37::i;:::-;4563:72:::0;-1:-1:-1;4642:9:41::1;4673:25;4654:8;:15;;;:44;;;;;;;;:::i;:::-;;4642:56;;4705:7;:27;;;:31;;;4757:8;:18;;;4791:4;:44;;4818:8;:17;;;4791:44;;;4798:8;:17;;;4791:44;4854:4;:44;;4881:8;:17;;;4854:44;;;4861:8;:17;;;4854:44;4914:17;::::0;::::1;::::0;4948:16:::1;::::0;;::::1;::::0;4705:266;;;::::1;::::0;;;;;;::::1;::::0;::::1;11453:25:113::0;;;;11497:42;11575:15;;;11555:18;;;11548:43;11627:15;;;11607:18;;;11600:43;11679:15;;;;11659:18;;;11652:43;11711:19;;;11704:35;11425:19;;4705:266:41::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4978:7;:27;;;:35;;;5031:4;:44;;5058:8;:17;;;5031:44;;;5038:8;:17;;;5031:44;5095:18;::::0;::::1;::::0;5129:17:::1;::::0;::::1;::::0;5163:16:::1;::::0;;::::1;::::0;4978:208;;;::::1;::::0;;;;;;12006:42:113;12075:15;;;4978:208:41::1;::::0;::::1;12057:34:113::0;12107:18;;;12100:34;;;;12170:15;;12150:18;;;12143:43;12202:18;;;12195:34;;;;11968:19;;4978:208:41::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;5243:18:41::1;::::0;::::1;::::0;5193:34:::1;5230:32:::0;;;:12:::1;:32;::::0;;;;5287:21;;5273:35;::::1;:91:::0;::::1;;;-1:-1:-1::0;5334:30:41::1;5312:18;::::0;::::1;::::0;::::1;;:52;::::0;::::1;;;;;;:::i;:::-;;5273:91;5269:807;;;5378:11;:41;;;5423:1;5378:46:::0;5374:77:::1;;5436:7;;;900:95:0::0;;:::o;5374:77:41:-:1;5459:31;5493:4;:75;;5535:33;5493:75;;;5500:32;5493:75;5459:109;;5598:10;5577:11;:18;;;:31;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5670:10;5650:8;:18;;;5622:71;5682:10;5622:71;;;;;;:::i;:::-;;;;;;;;5702:7;:27;;;:50;;;5775:8;:18;;;5815:10;5849:4;5871:7;:17;;;5937:1;5917:7;:16;;;:21;;5972:4;:88;;6019:11;:41;;;5972:88;;;5979:11;:37;;;5972:88;5702:367;::::0;;::::1;::::0;;;;;;::::1;::::0;::::1;12772:25:113::0;;;;12813:18;;;12806:34;;;;12883:14;;12876:22;12856:18;;;12849:50;12947:42;12935:55;12915:18;;;12908:83;13007:19;;;13000:35;13051:19;;;13044:35;12744:19;;5702:367:41::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5366:710;5269:807;6127:8;:18;;;6086:210;6166:8;:19;;;6204:8;:17;;;6240:8;:17;;;6274:8;:15;;;6086:210;;;;;;;;;:::i;:::-;;;;;;;;4557:1744;;;4453:1848:::0;;:::o;237:68:0:-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6544:548:41:-;6606:18;6626:32;6662:31;6676:10;6688:4;6662:13;:31::i;:::-;6700:24;;;;:12;:24;;;;;:50;;:55;;6605:88;;-1:-1:-1;6605:88:41;;-1:-1:-1;6754:1:41;;6700:55;;6754:1;;6700:55;:::i;:::-;;;;-1:-1:-1;;6761:29:41;;;;6806:1;6761:29;;;;;;;;6791:10;6761:41;;;;;;;:46;;6806:1;;6761:41;;:46;;6806:1;;6761:46;:::i;:::-;;;;-1:-1:-1;;6813:27:41;;6952:17;;;;6986:16;;;;;6813:196;;;;;6866:10;6813:196;;;14223:34:113;14273:18;;;14266:34;;;14316:18;;;14309:34;;;6813::41;14379:15:113;;;14359:18;;;14352:43;14411:19;;;14404:35;;;;6813:34:41;;;;;14134:19:113;;6813:196:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7070:7;:16;;;7058:10;7021:66;;7046:10;7021:66;;;;;;;;;;6599:493;;6544:548;:::o;11554:179::-;11622:32;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11622:32:41;11683:11;:23;;;;;;;;;;11672:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11662:66;11554:179;-1:-1:-1;;11554:179:41:o;11777:148::-;11841:33;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11841:33:41;11896:24;;;;:12;:24;;;;;;;;;11882:38;;;;;;;;;;;;;;;;11896:24;;11882:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;11777:148;-1:-1:-1;;11777:148:41:o;1823:972::-;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;1929:29:41::1;::::0;;;;::::1;::::0;::::1;639:25:113::0;;;1895:31:41::1;::::0;1929:6:::1;:17;;::::0;::::1;::::0;612:18:113;;1929:29:41::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1985:18;::::0;::::1;::::0;1964::::1;2046:24:::0;;;:12:::1;:24;::::0;;;;1895:63;;-1:-1:-1;1985:18:41;;2077:79:::1;;2114:42;;;;;;;;;;;;;;2077:79;2181:21:::0;;2167:35;;2163:628:::1;;2212:32;2247:29;2265:10;2247:17;:29::i;:::-;2212:64;;2307:7;:30;;;2288:15;:49;2284:106;;2346:44;;;;;;;;;;;;;;2284:106;2434:27;2412:18:::0;;::::1;::::0;::::1;;:49;::::0;::::1;;;;;;:::i;:::-;;;:145;;;;2516:11;:41;;;2475:11;:37;;;:82;;2412:145;2399:230;;;2583:37;;;;;;;;;;;;;;2399:230;2637:18;::::0;::::1;:51:::0;;;::::1;2658:30;2637:51:::0;;::::1;::::0;;;2701:83:::1;::::0;2741:10;;2729;;2701:83:::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;2204:587;2163:628;1889:906;;;1823:972:::0;:::o;2839:1570::-;2992:31;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2992:31:41;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;3031:32:41::1;3066:29;3084:10;3066:17;:29::i;:::-;3138:31;::::0;;;;::::1;::::0;::::1;639:25:113::0;;;3031:64:41;;-1:-1:-1;3102:33:41::1;::::0;3138:18:::1;:6;:18;::::0;::::1;::::0;612::113;;3138:31:41::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;3138:31:41::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;3219:21;::::0;::::1;::::0;3197:19;;3102:67;;-1:-1:-1;3197:43:41::1;::::0;::::1;:::i;:::-;3179:15;:61;3175:129;;;3257:40;;;;;;;;;;;;;;3175:129;3310:34;3347:24:::0;;;:12:::1;:24;::::0;;;;3400:30:::1;::::0;::::1;::::0;3382:15:::1;:48;3378:102;;;3439:41;;;;;;;;;;;;;;3378:102;3513:25;3491:18;::::0;::::1;::::0;::::1;;:47;::::0;::::1;;;;;;:::i;:::-;::::0;3487:441:::1;;3569:27;3548:18:::0;;::::1;:48:::0;;;::::1;::::0;;::::1;::::0;;3733:52:::1;::::0;17791:2:113;17787:15;;;17804:66;17783:88;3733:52:41::1;::::0;::::1;17771:101:113::0;17888:12;;;17881:28;;;17925:12;;;17918:28;;;-1:-1:-1;;17962:12:113;;3733:52:41::1;::::0;;-1:-1:-1;;3733:52:41;;::::1;::::0;;;;;;;3723:63;;3733:52:::1;3723:63:::0;;::::1;::::0;3794:34;;;3723:63;-1:-1:-1;3723:63:41;;3869:10;;3841:80:::1;::::0;::::1;::::0;3893:27:::1;::::0;3841:80:::1;:::i;:::-;;;;;;;;3540:388;3487:441;3945:215;;;;;;;;4138:15;3945:215;;;;3979:9;3945:215;;;;;;4037:9;3945:215;;;;;;4008:11;3945:215;;;;4065:10;3945:215;;;;4091:28;3945:215;;;;;;;;:::i;:::-;::::0;;4167:27;;4272:17:::1;::::0;::::1;::::0;4306:16:::1;::::0;;::::1;::::0;4167:162;;;;;:32:::1;12075:15:113::0;;;4167:162:41::1;::::0;::::1;12057:34:113::0;12107:18;;;12100:34;;;12170:15;;;12150:18;;;12143:43;12202:18;;;12195:34;;;;3934:226:41;;-1:-1:-1;4167:32:41::1;::::0;::::1;::::0;11968:19:113;;4167:162:41::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4341:63:41::1;::::0;;18187:25:113;;;18231:42;18309:15;;;18304:2;18289:18;;18282:43;18361:15;;18341:18;;;18334:43;4341:63:41;;4358:10;;-1:-1:-1;4341:63:41::1;::::0;-1:-1:-1;4341:63:41;;;;18175:2:113;4341:63:41;;::::1;3025:1384;;;2839:1570:::0;;;;;;:::o;7741:1693::-;7806:32;7841:29;7859:10;7841:17;:29::i;:::-;7876:34;7913:24;;;:12;:24;;;;;8000:19;;;;7967:30;;;;7806:64;;-1:-1:-1;7913:24:41;;7967:52;;8000:19;7967:52;:::i;:::-;7948:15;:71;7944:143;;8036:44;;;;;;;;;;;;;;7944:143;8119:27;8097:18;;;;;;:49;;;;;;;;:::i;:::-;;8093:127;;8163:50;;;;;;;;;;;;;;8093:127;8255:37;;;;8331:41;;;;8383:44;;;8379:112;;8444:40;;;;;;;;;;;;;;8379:112;8518:43;;;8497:18;8518:43;8591:249;;8750:90;8779:18;8799:7;:16;;;8817:22;8750:28;:90::i;:::-;8731:7;:16;;;:109;;;;:::i;:::-;8591:249;;;8632:90;8661:22;8685:7;:16;;;8703:18;8632:28;:90::i;:::-;8613:7;:16;;;:109;;;;:::i;:::-;8568:272;;8847:31;8887:13;:84;;8938:33;8887:84;;;8903:32;8887:84;8847:124;;8999:10;8978:11;:18;;;:31;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;9061:11;:21;;;9049:10;9021:74;9084:10;9021:74;;;;;;:::i;:::-;;;;;;;;9102:7;:27;;;:50;;;9173:10;9203:11;:21;;;9246:13;9275:7;:17;;;9319:12;9363:13;:59;;9400:22;9363:59;;;9379:18;9363:59;9102:327;;;;;;;;;;;;;12772:25:113;;;;12813:18;;;12806:34;;;;12883:14;;12876:22;12856:18;;;12849:50;12947:42;12935:55;12915:18;;;12908:83;13007:19;;;13000:35;13051:19;;;13044:35;12744:19;;9102:327:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7800:1634;;;;;;;7741:1693;:::o;7136:561::-;7202:18;7222:32;7258;7272:10;7284:5;7258:13;:32::i;:::-;7297:24;;;;:12;:24;;;;;;;:54;:59;;7201:89;;-1:-1:-1;7201:89:41;;-1:-1:-1;7355:1:41;;7297:59;;7355:1;;7297:59;:::i;:::-;;;;-1:-1:-1;;7362:33:41;;;;:21;:33;;;;;;;;7396:10;7362:45;;;;;;;:50;;7411:1;;7362:33;:50;;7411:1;;7362:50;:::i;:::-;;;;-1:-1:-1;;7418:27:41;;7557:17;;;;7591:16;;;;;7418:196;;;;;7471:10;7418:196;;;14223:34:113;14273:18;;;14266:34;;;14316:18;;;14309:34;;;7418::41;14379:15:113;;;14359:18;;;14352:43;14411:19;;;14404:35;;;;7418:34:41;;;;;14134:19:113;;7418:196:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7675:7;:16;;;7663:10;7626:66;;7651:10;7626:66;;;;;;;;;;7195:502;;7136:561;:::o;1470:309::-;1558:32;1593:38;;;;1604:5;1593:38;:::i;:::-;1558:73;;1641:7;:30;;;1675:1;1641:35;:60;;;-1:-1:-1;1680:16:41;;;;:21;1641:60;1637:138;;;1718:50;;;;;;;;;;;;;;9688:1636;9784:18;9804:32;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9804:32:41;9862:1;9848:15;;;9844:70;;9872:42;;;;;;;;;;;;;;9844:70;9955:29;;;;;;;;639:25:113;;;9921:31:41;;9955:6;:17;;;;;612:18:113;;9955:29:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10003:18;;;;;10027:33;10063:24;;;:12;:24;;;;;;;;10027:60;;;;;;;;;;;;;;;;10003:18;;-1:-1:-1;9921:63:41;;-1:-1:-1;10027:33:41;;10063:24;10027:60;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10112:21;;10027:60;;-1:-1:-1;10098:35:41;;10094:105;;10150:42;;;;;;;;;;;;;;10094:105;10215:29;10233:10;10215:17;:29::i;:::-;10205:39;;10306:7;:19;;;10273:7;:30;;;:52;;;;:::i;:::-;10255:15;:70;10251:139;;;10342:41;;;;;;;;;;;;;;10251:139;10429:37;;;;10509:41;;;;10557:575;;;;10612:7;:30;;;10586:22;:56;10582:140;;10661:52;;;;;;;;;;;;;;10582:140;10758:26;10733:22;:51;10729:112;;;10793:48;;;;;;;;;;;;;;10729:112;10557:575;;;10896:7;:30;;;10866:26;:60;10862:144;;10945:52;;;;;;;;;;;;;;10862:144;11046:22;11017:26;:51;11013:112;;;11077:48;;;;;;;;;;;;;;11013:112;11160:7;:30;;;11142:15;:48;:104;;;;;11220:26;11194:22;:52;11142:104;11138:182;;;11263:50;;;;;;;;;;;;;;11138:182;9838:1486;;;;9688:1636;;;;;:::o;1564:526:37:-;1680:9;1928:1;1915:11;1911:19;1908:1;1905:26;1902:1;1898:34;1891:42;1878:11;1874:60;1864:116;;1964:1;1961;1954:12;1864:116;-1:-1:-1;2051:9:37;;2047:27;;1564:526::o;14:154:113:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;69:93;14:154;:::o;173:315::-;241:6;249;302:2;290:9;281:7;277:23;273:32;270:52;;;318:1;315;308:12;270:52;354:9;341:23;331:33;;414:2;403:9;399:18;386:32;427:31;452:5;427:31;:::i;:::-;477:5;467:15;;;173:315;;;;;:::o;675:659::-;754:6;762;770;823:2;811:9;802:7;798:23;794:32;791:52;;;839:1;836;829:12;791:52;875:9;862:23;852:33;;936:2;925:9;921:18;908:32;959:18;1000:2;992:6;989:14;986:34;;;1016:1;1013;1006:12;986:34;1054:6;1043:9;1039:22;1029:32;;1099:7;1092:4;1088:2;1084:13;1080:27;1070:55;;1121:1;1118;1111:12;1070:55;1161:2;1148:16;1187:2;1179:6;1176:14;1173:34;;;1203:1;1200;1193:12;1173:34;1248:7;1243:2;1234:6;1230:2;1226:15;1222:24;1219:37;1216:57;;;1269:1;1266;1259:12;1216:57;1300:2;1296;1292:11;1282:21;;1322:6;1312:16;;;;;675:659;;;;;:::o;1339:184::-;1391:77;1388:1;1381:88;1488:4;1485:1;1478:15;1512:4;1509:1;1502:15;1528:253;1600:2;1594:9;1642:4;1630:17;;1677:18;1662:34;;1698:22;;;1659:62;1656:88;;;1724:18;;:::i;:::-;1760:2;1753:22;1528:253;:::o;1786:252::-;1858:2;1852:9;1900:3;1888:16;;1934:18;1919:34;;1955:22;;;1916:62;1913:88;;;1981:18;;:::i;2043:253::-;2115:2;2109:9;2157:4;2145:17;;2192:18;2177:34;;2213:22;;;2174:62;2171:88;;;2239:18;;:::i;2301:334::-;2372:2;2366:9;2428:2;2418:13;;-1:-1:-1;;2414:86:113;2402:99;;2531:18;2516:34;;2552:22;;;2513:62;2510:88;;;2578:18;;:::i;:::-;2614:2;2607:22;2301:334;;-1:-1:-1;2301:334:113:o;2640:112::-;2726:1;2719:5;2716:12;2706:40;;2742:1;2739;2732:12;2757:1044;2850:6;2858;2902:9;2893:7;2889:23;2932:3;2928:2;2924:12;2921:32;;;2949:1;2946;2939:12;2921:32;2985:9;2972:23;2962:33;;3088:4;-1:-1:-1;;3015:2:113;3011:75;3007:86;3004:106;;;3106:1;3103;3096:12;3004:106;;3132:22;;:::i;:::-;3205:2;3194:9;3190:18;3177:32;3170:5;3163:47;3262:2;3251:9;3247:18;3234:32;3275:33;3300:7;3275:33;:::i;:::-;3335:2;3324:14;;3317:31;3400:2;3385:18;;3372:32;3413:33;3372:32;3413:33;:::i;:::-;3473:2;3462:14;;3455:31;3546:3;3531:19;;;3518:33;3513:2;3502:14;;3495:57;3613:3;3598:19;;3585:33;3568:15;;;3561:58;3671:4;3656:20;;3643:34;3686:44;3643:34;3686:44;:::i;:::-;3757:3;3746:15;;3739:32;2757:1044;;3750:5;;-1:-1:-1;2757:1044:113;;-1:-1:-1;;2757:1044:113:o;3806:180::-;3865:6;3918:2;3906:9;3897:7;3893:23;3889:32;3886:52;;;3934:1;3931;3924:12;3886:52;-1:-1:-1;3957:23:113;;3806:180;-1:-1:-1;3806:180:113:o;3991:250::-;4076:1;4086:113;4100:6;4097:1;4094:13;4086:113;;;4176:11;;;4170:18;4157:11;;;4150:39;4122:2;4115:10;4086:113;;;-1:-1:-1;;4233:1:113;4215:16;;4208:27;3991:250::o;4246:329::-;4287:3;4325:5;4319:12;4352:6;4347:3;4340:19;4368:76;4437:6;4430:4;4425:3;4421:14;4414:4;4407:5;4403:16;4368:76;:::i;:::-;4489:2;4477:15;-1:-1:-1;;4473:88:113;4464:98;;;;4564:4;4460:109;;4246:329;-1:-1:-1;;4246:329:113:o;4580:217::-;4727:2;4716:9;4709:21;4690:4;4747:44;4787:2;4776:9;4772:18;4764:6;4747:44;:::i;:::-;4739:52;4580:217;-1:-1:-1;;;4580:217:113:o;5768:184::-;5820:77;5817:1;5810:88;5917:4;5914:1;5907:15;5941:4;5938:1;5931:15;5957:151;6049:1;6042:5;6039:12;6029:46;;6055:18;;:::i;:::-;6084;;5957:151::o;6113:511::-;6344:13;;6326:32;;6405:4;6393:17;;;6387:24;6313:3;6298:19;;;6420:72;;6471:20;;6387:24;6420:72;:::i;:::-;;6548:4;6540:6;6536:17;6530:24;6523:4;6512:9;6508:20;6501:54;6611:4;6603:6;6599:17;6593:24;6586:4;6575:9;6571:20;6564:54;6113:511;;;;:::o;7084:525::-;7170:6;7178;7186;7194;7247:3;7235:9;7226:7;7222:23;7218:33;7215:53;;;7264:1;7261;7254:12;7215:53;7300:9;7287:23;7277:33;;7357:2;7346:9;7342:18;7329:32;7319:42;;7411:2;7400:9;7396:18;7383:32;7424:31;7449:5;7424:31;:::i;:::-;7474:5;-1:-1:-1;7531:2:113;7516:18;;7503:32;7544:33;7503:32;7544:33;:::i;:::-;7084:525;;;;-1:-1:-1;7084:525:113;;-1:-1:-1;;7084:525:113:o;7614:144::-;7699:1;7692:5;7689:12;7679:46;;7705:18;;:::i;7763:738::-;7905:4;7947:3;7936:9;7932:19;7924:27;;7984:6;7978:13;7967:9;7960:32;8039:4;8031:6;8027:17;8021:24;8064:42;8162:2;8148:12;8144:21;8137:4;8126:9;8122:20;8115:51;8234:2;8226:4;8218:6;8214:17;8208:24;8204:33;8197:4;8186:9;8182:20;8175:63;;;8294:4;8286:6;8282:17;8276:24;8269:4;8258:9;8254:20;8247:54;8357:4;8349:6;8345:17;8339:24;8332:4;8321:9;8317:20;8310:54;8413:4;8405:6;8401:17;8395:24;8428:67;8489:4;8478:9;8474:20;8458:14;8428:67;:::i;:::-;;7763:738;;;;:::o;8506:437::-;8585:1;8581:12;;;;8628;;;8649:61;;8703:4;8695:6;8691:17;8681:27;;8649:61;8756:2;8748:6;8745:14;8725:18;8722:38;8719:218;;8793:77;8790:1;8783:88;8894:4;8891:1;8884:15;8922:4;8919:1;8912:15;8719:218;;8506:437;;;:::o;9073:544::-;9174:2;9169:3;9166:11;9163:448;;;9210:1;9235:5;9231:2;9224:17;9280:4;9276:2;9266:19;9350:2;9338:10;9334:19;9331:1;9327:27;9321:4;9317:38;9386:4;9374:10;9371:20;9368:47;;;-1:-1:-1;9409:4:113;9368:47;9464:2;9459:3;9455:12;9452:1;9448:20;9442:4;9438:31;9428:41;;9519:82;9537:2;9530:5;9527:13;9519:82;;;9582:17;;;9563:1;9552:13;9519:82;;;9523:3;;;9073:544;;;:::o;9853:1321::-;9975:18;9970:3;9967:27;9964:53;;;9997:18;;:::i;:::-;10026:93;10115:3;10075:38;10107:4;10101:11;10075:38;:::i;:::-;10069:4;10026:93;:::i;:::-;10145:1;10170:2;10165:3;10162:11;10187:1;10182:734;;;;10960:1;10977:3;10974:93;;;-1:-1:-1;11033:19:113;;;11020:33;10974:93;9759:66;9750:1;9746:11;;;9742:84;9738:89;9728:100;9834:1;9830:11;;;9725:117;11080:78;;10155:1013;;10182:734;9020:1;9013:14;;;9057:4;9044:18;;-1:-1:-1;;10218:76:113;;;10377:9;10399:229;10413:7;10410:1;10407:14;10399:229;;;10502:19;;;10489:33;10474:49;;10609:4;10594:20;;;;10562:1;10550:14;;;;10429:12;10399:229;;;10403:3;10656;10647:7;10644:16;10641:219;;;10776:66;10770:3;10764;10761:1;10757:11;10753:21;10749:94;10745:99;10732:9;10727:3;10723:19;10710:33;10706:139;10698:6;10691:155;10641:219;;;10903:1;10897:3;10894:1;10890:11;10886:19;10880:4;10873:33;10155:1013;;;9853:1321;;;:::o;12240:231::-;12398:2;12383:18;;12410:55;12387:9;12447:6;12410:55;:::i;13090:509::-;13337:25;;;13381:42;13459:15;;;13454:2;13439:18;;13432:43;13511:15;;13506:2;13491:18;;13484:43;13324:3;13309:19;;13536:57;13589:2;13574:18;;13566:6;13536:57;:::i;:::-;13090:509;;;;;;;:::o;13604:279::-;13669:9;;;13690:10;;;13687:190;;;13733:77;13730:1;13723:88;13834:4;13831:1;13824:15;13862:4;13859:1;13852:15;14450:794;14556:6;14609:3;14597:9;14588:7;14584:23;14580:33;14577:53;;;14626:1;14623;14616:12;14577:53;14652:22;;:::i;:::-;14704:9;14698:16;14723:33;14748:7;14723:33;:::i;:::-;14765:22;;14832:2;14817:18;;14811:25;14845:33;14811:25;14845:33;:::i;:::-;14910:7;14905:2;14898:5;14894:14;14887:31;;14971:2;14960:9;14956:18;14950:25;14945:2;14938:5;14934:14;14927:49;15029:2;15018:9;15014:18;15008:25;15003:2;14996:5;14992:14;14985:49;15088:3;15077:9;15073:19;15067:26;15061:3;15054:5;15050:15;15043:51;15148:3;15137:9;15133:19;15127:26;15121:3;15114:5;15110:15;15103:51;15208:3;15197:9;15193:19;15187:26;15181:3;15174:5;15170:15;15163:51;15233:5;15223:15;;;14450:794;;;;:::o;15431:807::-;15526:6;15579:3;15567:9;15558:7;15554:23;15550:33;15547:53;;;15596:1;15593;15586:12;15547:53;15622:22;;:::i;:::-;15673:9;15667:16;15660:5;15653:31;15729:2;15718:9;15714:18;15708:25;15742:33;15767:7;15742:33;:::i;:::-;15802:2;15791:14;;15784:31;15860:2;15845:18;;15839:25;15873:33;15839:25;15873:33;:::i;:::-;15938:7;15933:2;15926:5;15922:14;15915:31;;15999:2;15988:9;15984:18;15978:25;15973:2;15966:5;15962:14;15955:49;16058:3;16047:9;16043:19;16037:26;16031:3;16024:5;16020:15;16013:51;16109:3;16098:9;16094:19;16088:26;16123:44;16159:7;16123:44;:::i;:::-;16194:3;16183:15;;16176:32;16187:5;15431:807;-1:-1:-1;;;15431:807:113:o;16243:1338::-;16339:6;16370:2;16413;16401:9;16392:7;16388:23;16384:32;16381:52;;;16429:1;16426;16419:12;16381:52;16462:9;16456:16;16491:18;16532:2;16524:6;16521:14;16518:34;;;16548:1;16545;16538:12;16518:34;16571:22;;;;16627:4;16609:16;;;16605:27;16602:47;;;16645:1;16642;16635:12;16602:47;16671:22;;:::i;:::-;16722:2;16716:9;16709:5;16702:24;16764:2;16760;16756:11;16750:18;16777:33;16802:7;16777:33;:::i;:::-;16842:7;16837:2;16830:5;16826:14;16819:31;;16896:2;16892;16888:11;16882:18;16877:2;16870:5;16866:14;16859:42;16947:2;16943;16939:11;16933:18;16928:2;16921:5;16917:14;16910:42;16991:3;16987:2;16983:12;16977:19;17021:2;17011:8;17008:16;17005:36;;;17037:1;17034;17027:12;17005:36;17068:8;17064:2;17060:17;17050:27;;;17115:7;17108:4;17104:2;17100:13;17096:27;17086:55;;17137:1;17134;17127:12;17086:55;17166:2;17160:9;17188:2;17184;17181:10;17178:36;;;17194:18;;:::i;:::-;17236:112;17344:2;-1:-1:-1;;17268:4:113;17264:2;17260:13;17256:86;17252:95;17236:112;:::i;:::-;17223:125;;17371:2;17364:5;17357:17;17411:7;17406:2;17401;17397;17393:11;17389:20;17386:33;17383:53;;;17432:1;17429;17422:12;17383:53;17445:67;17509:2;17504;17497:5;17493:14;17488:2;17484;17480:11;17445:67;:::i;:::-;-1:-1:-1;17539:3:113;17528:15;;17521:30;;;;17532:5;16243:1338;-1:-1:-1;;;;;16243:1338:113:o;18388:832::-;18483:6;18536:3;18524:9;18515:7;18511:23;18507:33;18504:53;;;18553:1;18550;18543:12;18504:53;18579:22;;:::i;:::-;18638:9;18625:23;18657:33;18682:7;18657:33;:::i;:::-;18699:22;;18773:2;18758:18;;18745:32;18786:33;18745:32;18786:33;:::i;:::-;18851:7;18846:2;18839:5;18835:14;18828:31;;18919:2;18908:9;18904:18;18891:32;18886:2;18879:5;18875:14;18868:56;18984:2;18973:9;18969:18;18956:32;18951:2;18944:5;18940:14;18933:56;19050:3;19039:9;19035:19;19022:33;19016:3;19009:5;19005:15;18998:58;19117:3;19106:9;19102:19;19089:33;19083:3;19076:5;19072:15;19065:58;19184:3;19173:9;19169:19;19156:33;19150:3;19143:5;19139:15;19132:58;19209:5;19199:15;;;18388:832;;;;:::o",
    "linkReferences": {},
    "immutableReferences": {
      "10": [
        {
          "start": 419,
          "length": 32
        },
        {
          "start": 674,
          "length": 32
        },
        {
          "start": 923,
          "length": 32
        },
        {
          "start": 1076,
          "length": 32
        },
        {
          "start": 1191,
          "length": 32
        },
        {
          "start": 3281,
          "length": 32
        },
        {
          "start": 3418,
          "length": 32
        },
        {
          "start": 4000,
          "length": 32
        },
        {
          "start": 4172,
          "length": 32
        },
        {
          "start": 6385,
          "length": 32
        }
      ]
    }
  },
  "methodIdentifiers": {
    "ORACLE()": "38013f02",
    "decodeRequestData(bytes32)": "4d610a46",
    "disputeEscalated(bytes32)": "7fadb88d",
    "disputeResponse(bytes32,bytes32,address,address)": "98660c18",
    "finalizeRequest(bytes32,address)": "309de607",
    "getEscalation(bytes32)": "7068639f",
    "moduleName()": "93f0899a",
    "onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))": "34837c29",
    "oracle()": "7dc0d1d0",
    "pledgeAgainstDispute(bytes32)": "9debee30",
    "pledgeForDispute(bytes32)": "49646830",
    "pledgesAgainstDispute(bytes32,address)": "ef940cef",
    "pledgesForDispute(bytes32,address)": "076404dc",
    "requestData(bytes32)": "3661346b",
    "settleBondEscalation(bytes32)": "9afaec50",
    "setupRequest(bytes32,bytes)": "2e76be2a"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IOracle\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BondEscalationModule_BondEscalationCantBeSettled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_BondEscalationNotOver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_BondEscalationOver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_CanOnlySurpassByOnePledge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_CanOnlyTieDuringTyingBuffer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_DisputeDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_DisputeNotEscalated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_DisputeWindowOver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_InvalidEscalationParameters\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_MaxNumberOfEscalationsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_NotEscalatable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_ShouldBeEscalated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationModule_ZeroValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_OnlyOracle\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enum IBondEscalationModule.BondEscalationStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"name\":\"BondEscalationStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"name\":\"DisputeStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"PledgedInFavorOfDisputer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"PledgedInFavorOfProposer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"RequestFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"}],\"name\":\"ResponseDisputed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ORACLE\",\"outputs\":[{\"internalType\":\"contract IOracle\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"decodeRequestData\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IBondEscalationAccounting\",\"name\":\"accountingExtension\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"bondToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"bondSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumberOfEscalations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bondEscalationDeadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tyingBuffer\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeWindow\",\"type\":\"uint256\"}],\"internalType\":\"struct IBondEscalationModule.RequestParameters\",\"name\":\"_params\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"disputeEscalated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"}],\"name\":\"disputeResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"responseId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IOracle.Dispute\",\"name\":\"_dispute\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"finalizeRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"getEscalation\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"disputeId\",\"type\":\"bytes32\"},{\"internalType\":\"enum IBondEscalationModule.BondEscalationStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"amountOfPledgesForDispute\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOfPledgesAgainstDispute\",\"type\":\"uint256\"}],\"internalType\":\"struct IBondEscalationModule.BondEscalation\",\"name\":\"_escalation\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moduleName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_moduleName\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"responseId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IOracle.Dispute\",\"name\":\"_dispute\",\"type\":\"tuple\"}],\"name\":\"onDisputeStatusChange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"pledgeAgainstDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"pledgeForDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"}],\"name\":\"pledgesAgainstDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"pledges\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"}],\"name\":\"pledgesForDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"pledges\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"requestData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"_requestData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"settleBondEscalation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"setupRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"BondEscalationStatusUpdated(bytes32,bytes32,uint8)\":{\"params\":{\"_disputeId\":\"The id of the dispute going through the bond escalation mechanism.\",\"_requestId\":\"The id of the request associated with the bond escalation mechanism.\",\"_status\":\"The new status.\"}},\"DisputeStatusChanged(bytes32,bytes32,address,address,uint8)\":{\"params\":{\"_disputer\":\"The address of the disputed\",\"_proposer\":\"The address of the proposer\",\"_requestId\":\"The id of the request\",\"_responseId\":\"The id of the response\",\"_status\":\"The new status of the dispute\"}},\"PledgedInFavorOfDisputer(bytes32,address,uint256)\":{\"params\":{\"_amount\":\"The amount pledged.\",\"_disputeId\":\"The id of the dispute the pledger is pledging in favor of.\",\"_pledger\":\"The address of the pledger.\"}},\"PledgedInFavorOfProposer(bytes32,address,uint256)\":{\"params\":{\"_amount\":\"The amount pledged.\",\"_disputeId\":\"The id of the dispute the pledger is pledging against.\",\"_pledger\":\"The address of the pledger.\"}},\"RequestFinalized(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request that was finalized\"}},\"ResponseDisputed(bytes32,bytes32,address,address)\":{\"params\":{\"_disputer\":\"The address of the disputed\",\"_proposer\":\"The address of the proposer\",\"_requestId\":\"The id of the request created\",\"_responseId\":\"The id of the response disputed\"}}},\"kind\":\"dev\",\"methods\":{\"decodeRequestData(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request to decode.\"},\"returns\":{\"_params\":\"The struct containing the parameters for the request\"}},\"disputeEscalated(bytes32)\":{\"params\":{\"_disputeId\":\"The ID of the dispute to escalate.\"}},\"disputeResponse(bytes32,bytes32,address,address)\":{\"details\":\"If this is the first dispute of the request and the bond escalation window is not over,      it will start the bond escalation process. This function must be called through the Oracle.\",\"params\":{\"_disputer\":\"The address of the disputer.\",\"_proposer\":\"The address of the proposer of the response.\",\"_requestId\":\"The ID of the request containing the response to dispute.\",\"_responseId\":\"The ID of the request to dispute.\"},\"returns\":{\"_dispute\":\"The data of the created dispute.\"}},\"finalizeRequest(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request being finalized\"}},\"getEscalation(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request to get its escalation data.\"},\"returns\":{\"_escalation\":\"The struct containing the escalation data.\"}},\"moduleName()\":{\"returns\":{\"_moduleName\":\"The name of the module.\"}},\"onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))\":{\"params\":{\"_dispute\":\"The full dispute object.\",\"_disputeId\":\"The ID of the dispute to update the status for.\"}},\"oracle()\":{\"returns\":{\"_oracle\":\"The address of the oracle\"}},\"pledgeAgainstDispute(bytes32)\":{\"details\":\"Must be called directly through this contract. Will revert if the disputeId is not going through         the bond escalation process.If the bond escalation is not tied at the end of its deadline, a tying buffer is added      to avoid scenarios where one of the parties breaks the tie very last second.      During the tying buffer, the losing party can only tie, and once the escalation is tied      no further funds can be pledged.\",\"params\":{\"_disputeId\":\"ID of the dispute id to pledge against.\"}},\"pledgeForDispute(bytes32)\":{\"details\":\"This function must be called directly through this contract.If the bond escalation is not tied at the end of its deadline, a tying buffer is added      to avoid scenarios where one of the parties breaks the tie very last second.      During the tying buffer, the losing party can only tie, and once the escalation is tied      no further funds can be pledged.\",\"params\":{\"_disputeId\":\"The ID of the dispute to pledge for.\"}},\"settleBondEscalation(bytes32)\":{\"details\":\"Must be called directly through this contract.Can only be called if after the deadline + tyingBuffer window is over, the pledges weren't tied\",\"params\":{\"_requestId\":\"requestId of the request to settle the bond escalation process for.\"}},\"setupRequest(bytes32,bytes)\":{\"params\":{\"_data\":\"The data of the request\",\"_requestId\":\"The ID of the request\"}}},\"stateVariables\":{\"pledgesAgainstDispute\":{\"params\":{\"_pledger\":\"The address of the pledger to get the pledges for.\",\"_requestId\":\"The id of the request to get the pledges for.\"},\"return\":\"pledges The number of pledges made by the pledger against the dispute.\",\"returns\":{\"pledges\":\"The number of pledges made by the pledger against the dispute.\"}},\"pledgesForDispute\":{\"params\":{\"_pledger\":\"The address of the pledger to get the pledges for.\",\"_requestId\":\"The id of the request to get the pledges for.\"},\"return\":\"pledges The number of pledges made by the pledger for the dispute.\",\"returns\":{\"pledges\":\"The number of pledges made by the pledger for the dispute.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"BondEscalationModule_BondEscalationCantBeSettled()\":[{\"notice\":\"Thrown when trying to settle a dispute that went through the bond escalation when it's not active.\"}],\"BondEscalationModule_BondEscalationNotOver()\":[{\"notice\":\"Thrown when trying to escalate a dispute going through the bond escalation module before its deadline.\"}],\"BondEscalationModule_BondEscalationOver()\":[{\"notice\":\"Thrown when trying to pledge after the bond escalation deadline.\"}],\"BondEscalationModule_CanOnlySurpassByOnePledge()\":[{\"notice\":\"Thrown when trying to surpass the number of pledges of the other side by more than 1 in the bond escalation mechanism.\"}],\"BondEscalationModule_CanOnlyTieDuringTyingBuffer()\":[{\"notice\":\"Thrown when trying to tie outside of the tying buffer.\"}],\"BondEscalationModule_DisputeDoesNotExist()\":[{\"notice\":\"Thrown when trying to pledge for a dispute that does not exist\"}],\"BondEscalationModule_DisputeNotEscalated()\":[{\"notice\":\"Thrown when trying to pledge for a dispute that is not going through the bond escalation mechanism.\"}],\"BondEscalationModule_DisputeWindowOver()\":[{\"notice\":\"Thrown when trying to dispute a response after the dispute period expired.\"}],\"BondEscalationModule_InvalidEscalationParameters()\":[{\"notice\":\"Thrown when trying to set up a request with invalid bond size or maximum amount of escalations.\"}],\"BondEscalationModule_MaxNumberOfEscalationsReached()\":[{\"notice\":\"Thrown when the number of escalation pledges of a given dispute has reached its maximum.\"}],\"BondEscalationModule_NotEscalatable()\":[{\"notice\":\"Thrown when trying to escalate a dispute going through the bond escalation process that is not tied         or that is not active.\"}],\"BondEscalationModule_ShouldBeEscalated()\":[{\"notice\":\"Thrown when trying to settle a bond escalation process that is not tied.\"}],\"BondEscalationModule_ZeroValue()\":[{\"notice\":\"Thrown when the max number of escalations or the bond size is set to 0.\"}],\"Module_OnlyOracle()\":[{\"notice\":\"Thrown when the caller is not the oracle\"}]},\"events\":{\"BondEscalationStatusUpdated(bytes32,bytes32,uint8)\":{\"notice\":\"The status of the bond escalation mechanism has been updated.\"},\"DisputeStatusChanged(bytes32,bytes32,address,address,uint8)\":{\"notice\":\"Emitted when a dispute status is updated\"},\"PledgedInFavorOfDisputer(bytes32,address,uint256)\":{\"notice\":\"A pledge has been made in favor of a dispute.\"},\"PledgedInFavorOfProposer(bytes32,address,uint256)\":{\"notice\":\"A pledge has been made against a dispute.\"},\"RequestFinalized(bytes32,address)\":{\"notice\":\"Emitted when a request is finalized\"},\"ResponseDisputed(bytes32,bytes32,address,address)\":{\"notice\":\"Emitted when a response is disputed\"}},\"kind\":\"user\",\"methods\":{\"decodeRequestData(bytes32)\":{\"notice\":\"Decodes the request data associated with a request id.\"},\"disputeEscalated(bytes32)\":{\"notice\":\"Verifies whether the dispute going through the bond escalation mechanism has reached a tie and         updates its escalation status accordingly.\"},\"disputeResponse(bytes32,bytes32,address,address)\":{\"notice\":\"Disputes a response\"},\"finalizeRequest(bytes32,address)\":{\"notice\":\"Finalizes a given request and executes any additional logic set by the chosen modules\"},\"getEscalation(bytes32)\":{\"notice\":\"Returns the escalation data for a request.\"},\"moduleName()\":{\"notice\":\"Returns the name of the module.\"},\"onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))\":{\"notice\":\"Updates the status of a given disputeId and pays the proposer and disputer accordingly. If this         dispute has gone through the bond escalation mechanism, then it will pay the winning pledgers as well.\"},\"oracle()\":{\"notice\":\"Returns the address of the oracle\"},\"pledgeAgainstDispute(bytes32)\":{\"notice\":\"Pledges funds against a given disputeId during its bond escalation process.\"},\"pledgeForDispute(bytes32)\":{\"notice\":\"Bonds funds in favor of a given dispute during the bond escalation process.\"},\"pledgesAgainstDispute(bytes32,address)\":{\"notice\":\"Returns the amount of pledges that a particular pledger has made against a given dispute.\"},\"pledgesForDispute(bytes32,address)\":{\"notice\":\"Returns the amount of pledges that a particular pledger has made for a given dispute.\"},\"requestData(bytes32)\":{\"notice\":\"Returns the data of the request associated with the provided id\"},\"settleBondEscalation(bytes32)\":{\"notice\":\"Settles the bond escalation process of a given requestId.\"},\"setupRequest(bytes32,bytes)\":{\"notice\":\"Stores the request data and runs module-specific hooks\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"solidity/contracts/modules/dispute/BondEscalationModule.sol\":\"BondEscalationModule\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@defi-wonderland/=node_modules/@defi-wonderland/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol\":{\"keccak256\":\"0xb528e0eea66984412d038db1edcbfe77ac642089975fae6b0b44e8be13319bbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e70d520407288d43d7c735fd7355502b514ba6feacaeb4a5dd86497e3f91eb41\",\"dweb:/ipfs/QmPXY7uXjnsFacp6VpL45bMrxCZGtQ8AAnecTXC9ASkpV7\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IModule.sol\":{\"keccak256\":\"0x72c2f68e8c2b749d9ae745269c706b137a640d6bd6f65f966238b547d61e3a05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4edb1aae7c4abd875d2da44a2dd83781c3c0a3d059edf2d1f2be1c44f865456f\",\"dweb:/ipfs/QmbEHy8tENha1ANEEZADpH4THmqC8aHyCXxFYPw4tS5mf4\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol\":{\"keccak256\":\"0x606262b4bb3b1447b1f6afef8a1b49088956b168a4b066f6f60da4712b95d3cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a763cdb6ba9f12a93e3d5238d6d3235c5c0c229df94793927f9d2abe00542823\",\"dweb:/ipfs/QmbAbfVyCiHvNvhHxc5r8tK5GUuVBATo15Ma5MirhZPtE6\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/dispute/IDisputeModule.sol\":{\"keccak256\":\"0x21707db43d55ba040893ef0ffefa7f9740c6e03b94d750637e6b2c047a16baa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae582ca2fdd6fc82c650333066c95a917221282ad7ef15ea62fb4a31e4ed864d\",\"dweb:/ipfs/QmdxvkpNCK46uYv31TxAtxCiRPSoxbT4hrs94WQfR4ctTM\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/finality/IFinalityModule.sol\":{\"keccak256\":\"0xf6f465732ee119879e3317227f9cf6468055f4f98acdb4365f5b4eacda32948e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82e1928a7bbc5bce95e1b83d917e1470c72a0bec7494f6f42471b21c0f2b641e\",\"dweb:/ipfs/QmSjaBsNhzCfQd5xwZa98LNYSZ1TqAqo6inRTGD31ua4L8\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/request/IRequestModule.sol\":{\"keccak256\":\"0xefa5dd3334a1676cca1c1860c66c16adb1e399917742476d15de8737b5cb0032\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03bcff0500f4054b5f71b0badd1779f8dfaa7fc74fc64788991438a1d9d2d14d\",\"dweb:/ipfs/QmdDjbGPgBfbbyT26Xtt9uBD7nYnhSK43fa9skfuBrfjCc\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol\":{\"keccak256\":\"0x36e75a87661b234be605a7455c88eaf4e7cbc9f5b4ea08133dd6d9d5af8d6bc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://232536c4e8b2e9114035e57360976ff24931459fb22a026114d392d3e315ea67\",\"dweb:/ipfs/QmPYKU5RDGMqTZZzCCvVy7ssush4EQGgCCbzbeGpnejGno\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/response/IResponseModule.sol\":{\"keccak256\":\"0xd0610065a22a8d3323427d871a73b835e4d0dffb3afe4bb7e8bbee81b8b9ed1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c72dcbd36f11e87fc21c922684e5524f0c83830dc945ac92614ea1cd770a1bf\",\"dweb:/ipfs/QmfYnQfSDd2jS9QEAdpmDF6wVXWqitQpmJsSeEHs1mtUQP\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/solmate/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x1b62af9baf5b8e991ed7531bc87f45550ba9d61e8dbff5caf237ccaf3a3fd843\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b7b38b977c5305b18ceefbeed4c9ceaaaefa419b520de62de6604ea661f8c0a9\",\"dweb:/ipfs/QmecMRzgfMyDVa2pvBqMMDLYBappaj7Aa3qcMoQYEQrhWi\"]},\"solidity/contracts/modules/dispute/BondEscalationModule.sol\":{\"keccak256\":\"0x42fe76296d2b6ebbd051c73c0f1ea93b9b435e1d6f0ce02071dd98c03e9ffb88\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://39bca9ef683618f1d735df33dd0d98e7b0227efb850d35090b1b7ef56bcf1080\",\"dweb:/ipfs/QmQ2FNbMDdhSrcvqHb2anMGPhFHPYbsL1ZDQRqmzcp1wsF\"]},\"solidity/interfaces/extensions/IAccountingExtension.sol\":{\"keccak256\":\"0x31b990f92e67ce2b480ca97fcc54d44dddaa82fa60259439d8556bfbb7963d0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e6ef2026bf40ef58f625b7377c70e4988902ae14df333e9be35129a57a87f0\",\"dweb:/ipfs/QmW1RfXvujkVHqXazdeTKshba9rX6kzSCRfZKBwLi38Ue5\"]},\"solidity/interfaces/extensions/IBondEscalationAccounting.sol\":{\"keccak256\":\"0xbb8a09dc8120dce27ef6365377acc387e0ef230969b993590cc81aaa096e36d0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://31c592b9527e6be74502d7ec135a77bb2802662c75df3a05f916fa050fe34747\",\"dweb:/ipfs/QmQBj39ptDdwMzhjgMzkJHNWbL7Ek41YNhMZaKDtKBG7oc\"]},\"solidity/interfaces/modules/dispute/IBondEscalationModule.sol\":{\"keccak256\":\"0x092ef0770e8587b1828891addecd270a0d49de18df36093480e006842dd3ef20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://93939711123171337804d8acfe5aab8c1924b997cede75d16e13e7e61bf62f08\",\"dweb:/ipfs/QmQp8T8FXe5aJ6oJdUFRnzAoKarmmRihEF9aZiJWdaBwdt\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.19+commit.7dd6d404"
    },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [
            {
              "internalType": "contract IOracle",
              "name": "_oracle",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_BondEscalationCantBeSettled"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_BondEscalationNotOver"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_BondEscalationOver"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_CanOnlySurpassByOnePledge"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_CanOnlyTieDuringTyingBuffer"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_DisputeDoesNotExist"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_DisputeNotEscalated"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_DisputeWindowOver"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_InvalidEscalationParameters"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_MaxNumberOfEscalationsReached"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_NotEscalatable"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_ShouldBeEscalated"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationModule_ZeroValue"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "Module_OnlyOracle"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "enum IBondEscalationModule.BondEscalationStatus",
              "name": "_status",
              "type": "uint8",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "BondEscalationStatusUpdated",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "_disputer",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "_proposer",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "_status",
              "type": "uint8",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "DisputeStatusChanged",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "uint256",
              "name": "_amount",
              "type": "uint256",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "PledgedInFavorOfDisputer",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "uint256",
              "name": "_amount",
              "type": "uint256",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "PledgedInFavorOfProposer",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "RequestFinalized",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "_disputer",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "_proposer",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "ResponseDisputed",
          "anonymous": false
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "ORACLE",
          "outputs": [
            {
              "internalType": "contract IOracle",
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "decodeRequestData",
          "outputs": [
            {
              "internalType": "struct IBondEscalationModule.RequestParameters",
              "name": "_params",
              "type": "tuple",
              "components": [
                {
                  "internalType": "contract IBondEscalationAccounting",
                  "name": "accountingExtension",
                  "type": "address"
                },
                {
                  "internalType": "contract IERC20",
                  "name": "bondToken",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "bondSize",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxNumberOfEscalations",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bondEscalationDeadline",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "tyingBuffer",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "disputeWindow",
                  "type": "uint256"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "disputeEscalated"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_disputer",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_proposer",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "disputeResponse",
          "outputs": [
            {
              "internalType": "struct IOracle.Dispute",
              "name": "_dispute",
              "type": "tuple",
              "components": [
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "disputer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "proposer",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "responseId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                },
                {
                  "internalType": "enum IOracle.DisputeStatus",
                  "name": "status",
                  "type": "uint8"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "finalizeRequest"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getEscalation",
          "outputs": [
            {
              "internalType": "struct IBondEscalationModule.BondEscalation",
              "name": "_escalation",
              "type": "tuple",
              "components": [
                {
                  "internalType": "bytes32",
                  "name": "disputeId",
                  "type": "bytes32"
                },
                {
                  "internalType": "enum IBondEscalationModule.BondEscalationStatus",
                  "name": "status",
                  "type": "uint8"
                },
                {
                  "internalType": "uint256",
                  "name": "amountOfPledgesForDispute",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amountOfPledgesAgainstDispute",
                  "type": "uint256"
                }
              ]
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "pure",
          "type": "function",
          "name": "moduleName",
          "outputs": [
            {
              "internalType": "string",
              "name": "_moduleName",
              "type": "string"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "struct IOracle.Dispute",
              "name": "_dispute",
              "type": "tuple",
              "components": [
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "disputer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "proposer",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "responseId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                },
                {
                  "internalType": "enum IOracle.DisputeStatus",
                  "name": "status",
                  "type": "uint8"
                }
              ]
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "onDisputeStatusChange"
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "oracle",
          "outputs": [
            {
              "internalType": "address",
              "name": "_oracle",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "pledgeAgainstDispute"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "pledgeForDispute"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "pledgesAgainstDispute",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "pledges",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "pledgesForDispute",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "pledges",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "requestData",
          "outputs": [
            {
              "internalType": "bytes",
              "name": "_requestData",
              "type": "bytes"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "settleBondEscalation"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "_data",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setupRequest"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {
          "decodeRequestData(bytes32)": {
            "params": {
              "_requestId": "The id of the request to decode."
            },
            "returns": {
              "_params": "The struct containing the parameters for the request"
            }
          },
          "disputeEscalated(bytes32)": {
            "params": {
              "_disputeId": "The ID of the dispute to escalate."
            }
          },
          "disputeResponse(bytes32,bytes32,address,address)": {
            "details": "If this is the first dispute of the request and the bond escalation window is not over,      it will start the bond escalation process. This function must be called through the Oracle.",
            "params": {
              "_disputer": "The address of the disputer.",
              "_proposer": "The address of the proposer of the response.",
              "_requestId": "The ID of the request containing the response to dispute.",
              "_responseId": "The ID of the request to dispute."
            },
            "returns": {
              "_dispute": "The data of the created dispute."
            }
          },
          "finalizeRequest(bytes32,address)": {
            "params": {
              "_finalizer": "The address that initiated the finalization",
              "_requestId": "The ID of the request being finalized"
            }
          },
          "getEscalation(bytes32)": {
            "params": {
              "_requestId": "The id of the request to get its escalation data."
            },
            "returns": {
              "_escalation": "The struct containing the escalation data."
            }
          },
          "moduleName()": {
            "returns": {
              "_moduleName": "The name of the module."
            }
          },
          "onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))": {
            "params": {
              "_dispute": "The full dispute object.",
              "_disputeId": "The ID of the dispute to update the status for."
            }
          },
          "oracle()": {
            "returns": {
              "_oracle": "The address of the oracle"
            }
          },
          "pledgeAgainstDispute(bytes32)": {
            "details": "Must be called directly through this contract. Will revert if the disputeId is not going through         the bond escalation process.If the bond escalation is not tied at the end of its deadline, a tying buffer is added      to avoid scenarios where one of the parties breaks the tie very last second.      During the tying buffer, the losing party can only tie, and once the escalation is tied      no further funds can be pledged.",
            "params": {
              "_disputeId": "ID of the dispute id to pledge against."
            }
          },
          "pledgeForDispute(bytes32)": {
            "details": "This function must be called directly through this contract.If the bond escalation is not tied at the end of its deadline, a tying buffer is added      to avoid scenarios where one of the parties breaks the tie very last second.      During the tying buffer, the losing party can only tie, and once the escalation is tied      no further funds can be pledged.",
            "params": {
              "_disputeId": "The ID of the dispute to pledge for."
            }
          },
          "settleBondEscalation(bytes32)": {
            "details": "Must be called directly through this contract.Can only be called if after the deadline + tyingBuffer window is over, the pledges weren't tied",
            "params": {
              "_requestId": "requestId of the request to settle the bond escalation process for."
            }
          },
          "setupRequest(bytes32,bytes)": {
            "params": {
              "_data": "The data of the request",
              "_requestId": "The ID of the request"
            }
          }
        },
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {
          "decodeRequestData(bytes32)": {
            "notice": "Decodes the request data associated with a request id."
          },
          "disputeEscalated(bytes32)": {
            "notice": "Verifies whether the dispute going through the bond escalation mechanism has reached a tie and         updates its escalation status accordingly."
          },
          "disputeResponse(bytes32,bytes32,address,address)": {
            "notice": "Disputes a response"
          },
          "finalizeRequest(bytes32,address)": {
            "notice": "Finalizes a given request and executes any additional logic set by the chosen modules"
          },
          "getEscalation(bytes32)": {
            "notice": "Returns the escalation data for a request."
          },
          "moduleName()": {
            "notice": "Returns the name of the module."
          },
          "onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))": {
            "notice": "Updates the status of a given disputeId and pays the proposer and disputer accordingly. If this         dispute has gone through the bond escalation mechanism, then it will pay the winning pledgers as well."
          },
          "oracle()": {
            "notice": "Returns the address of the oracle"
          },
          "pledgeAgainstDispute(bytes32)": {
            "notice": "Pledges funds against a given disputeId during its bond escalation process."
          },
          "pledgeForDispute(bytes32)": {
            "notice": "Bonds funds in favor of a given dispute during the bond escalation process."
          },
          "pledgesAgainstDispute(bytes32,address)": {
            "notice": "Returns the amount of pledges that a particular pledger has made against a given dispute."
          },
          "pledgesForDispute(bytes32,address)": {
            "notice": "Returns the amount of pledges that a particular pledger has made for a given dispute."
          },
          "requestData(bytes32)": {
            "notice": "Returns the data of the request associated with the provided id"
          },
          "settleBondEscalation(bytes32)": {
            "notice": "Settles the bond escalation process of a given requestId."
          },
          "setupRequest(bytes32,bytes)": {
            "notice": "Stores the request data and runs module-specific hooks"
          }
        },
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        "@defi-wonderland/=node_modules/@defi-wonderland/",
        "@openzeppelin/=node_modules/@openzeppelin/",
        "ds-test/=node_modules/ds-test/src/",
        "forge-std/=node_modules/forge-std/src/",
        "solmate/=node_modules/solmate/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 10000
      },
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "compilationTarget": {
        "solidity/contracts/modules/dispute/BondEscalationModule.sol": "BondEscalationModule"
      },
      "libraries": {}
    },
    "sources": {
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol": {
        "keccak256": "0xb528e0eea66984412d038db1edcbfe77ac642089975fae6b0b44e8be13319bbf",
        "urls": [
          "bzz-raw://e70d520407288d43d7c735fd7355502b514ba6feacaeb4a5dd86497e3f91eb41",
          "dweb:/ipfs/QmPXY7uXjnsFacp6VpL45bMrxCZGtQ8AAnecTXC9ASkpV7"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IModule.sol": {
        "keccak256": "0x72c2f68e8c2b749d9ae745269c706b137a640d6bd6f65f966238b547d61e3a05",
        "urls": [
          "bzz-raw://4edb1aae7c4abd875d2da44a2dd83781c3c0a3d059edf2d1f2be1c44f865456f",
          "dweb:/ipfs/QmbEHy8tENha1ANEEZADpH4THmqC8aHyCXxFYPw4tS5mf4"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol": {
        "keccak256": "0x606262b4bb3b1447b1f6afef8a1b49088956b168a4b066f6f60da4712b95d3cf",
        "urls": [
          "bzz-raw://a763cdb6ba9f12a93e3d5238d6d3235c5c0c229df94793927f9d2abe00542823",
          "dweb:/ipfs/QmbAbfVyCiHvNvhHxc5r8tK5GUuVBATo15Ma5MirhZPtE6"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/dispute/IDisputeModule.sol": {
        "keccak256": "0x21707db43d55ba040893ef0ffefa7f9740c6e03b94d750637e6b2c047a16baa4",
        "urls": [
          "bzz-raw://ae582ca2fdd6fc82c650333066c95a917221282ad7ef15ea62fb4a31e4ed864d",
          "dweb:/ipfs/QmdxvkpNCK46uYv31TxAtxCiRPSoxbT4hrs94WQfR4ctTM"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/finality/IFinalityModule.sol": {
        "keccak256": "0xf6f465732ee119879e3317227f9cf6468055f4f98acdb4365f5b4eacda32948e",
        "urls": [
          "bzz-raw://82e1928a7bbc5bce95e1b83d917e1470c72a0bec7494f6f42471b21c0f2b641e",
          "dweb:/ipfs/QmSjaBsNhzCfQd5xwZa98LNYSZ1TqAqo6inRTGD31ua4L8"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/request/IRequestModule.sol": {
        "keccak256": "0xefa5dd3334a1676cca1c1860c66c16adb1e399917742476d15de8737b5cb0032",
        "urls": [
          "bzz-raw://03bcff0500f4054b5f71b0badd1779f8dfaa7fc74fc64788991438a1d9d2d14d",
          "dweb:/ipfs/QmdDjbGPgBfbbyT26Xtt9uBD7nYnhSK43fa9skfuBrfjCc"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol": {
        "keccak256": "0x36e75a87661b234be605a7455c88eaf4e7cbc9f5b4ea08133dd6d9d5af8d6bc6",
        "urls": [
          "bzz-raw://232536c4e8b2e9114035e57360976ff24931459fb22a026114d392d3e315ea67",
          "dweb:/ipfs/QmPYKU5RDGMqTZZzCCvVy7ssush4EQGgCCbzbeGpnejGno"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/response/IResponseModule.sol": {
        "keccak256": "0xd0610065a22a8d3323427d871a73b835e4d0dffb3afe4bb7e8bbee81b8b9ed1b",
        "urls": [
          "bzz-raw://8c72dcbd36f11e87fc21c922684e5524f0c83830dc945ac92614ea1cd770a1bf",
          "dweb:/ipfs/QmfYnQfSDd2jS9QEAdpmDF6wVXWqitQpmJsSeEHs1mtUQP"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
        "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305",
        "urls": [
          "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5",
          "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"
        ],
        "license": "MIT"
      },
      "node_modules/solmate/src/utils/FixedPointMathLib.sol": {
        "keccak256": "0x1b62af9baf5b8e991ed7531bc87f45550ba9d61e8dbff5caf237ccaf3a3fd843",
        "urls": [
          "bzz-raw://b7b38b977c5305b18ceefbeed4c9ceaaaefa419b520de62de6604ea661f8c0a9",
          "dweb:/ipfs/QmecMRzgfMyDVa2pvBqMMDLYBappaj7Aa3qcMoQYEQrhWi"
        ],
        "license": "AGPL-3.0-only"
      },
      "solidity/contracts/modules/dispute/BondEscalationModule.sol": {
        "keccak256": "0x42fe76296d2b6ebbd051c73c0f1ea93b9b435e1d6f0ce02071dd98c03e9ffb88",
        "urls": [
          "bzz-raw://39bca9ef683618f1d735df33dd0d98e7b0227efb850d35090b1b7ef56bcf1080",
          "dweb:/ipfs/QmQ2FNbMDdhSrcvqHb2anMGPhFHPYbsL1ZDQRqmzcp1wsF"
        ],
        "license": "AGPL-3.0-only"
      },
      "solidity/interfaces/extensions/IAccountingExtension.sol": {
        "keccak256": "0x31b990f92e67ce2b480ca97fcc54d44dddaa82fa60259439d8556bfbb7963d0e",
        "urls": [
          "bzz-raw://23e6ef2026bf40ef58f625b7377c70e4988902ae14df333e9be35129a57a87f0",
          "dweb:/ipfs/QmW1RfXvujkVHqXazdeTKshba9rX6kzSCRfZKBwLi38Ue5"
        ],
        "license": "MIT"
      },
      "solidity/interfaces/extensions/IBondEscalationAccounting.sol": {
        "keccak256": "0xbb8a09dc8120dce27ef6365377acc387e0ef230969b993590cc81aaa096e36d0",
        "urls": [
          "bzz-raw://31c592b9527e6be74502d7ec135a77bb2802662c75df3a05f916fa050fe34747",
          "dweb:/ipfs/QmQBj39ptDdwMzhjgMzkJHNWbL7Ek41YNhMZaKDtKBG7oc"
        ],
        "license": "AGPL-3.0-only"
      },
      "solidity/interfaces/modules/dispute/IBondEscalationModule.sol": {
        "keccak256": "0x092ef0770e8587b1828891addecd270a0d49de18df36093480e006842dd3ef20",
        "urls": [
          "bzz-raw://93939711123171337804d8acfe5aab8c1924b997cede75d16e13e7e61bf62f08",
          "dweb:/ipfs/QmQp8T8FXe5aJ6oJdUFRnzAoKarmmRihEF9aZiJWdaBwdt"
        ],
        "license": "AGPL-3.0-only"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "solidity/contracts/modules/dispute/BondEscalationModule.sol",
    "id": 36899,
    "exportedSymbols": {
      "BondEscalationModule": [
        36898
      ],
      "FixedPointMathLib": [
        34903
      ],
      "IBondEscalationModule": [
        43004
      ],
      "IModule": [
        1782
      ],
      "IOracle": [
        2282
      ],
      "Module": [
        98
      ]
    },
    "nodeType": "SourceUnit",
    "src": "42:11886:41",
    "nodes": [
      {
        "id": 36003,
        "nodeType": "PragmaDirective",
        "src": "42:24:41",
        "nodes": [],
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".19"
        ]
      },
      {
        "id": 36006,
        "nodeType": "ImportDirective",
        "src": "114:102:41",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 36899,
        "sourceUnit": 99,
        "symbolAliases": [
          {
            "foreign": {
              "id": 36004,
              "name": "Module",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 98,
              "src": "122:6:41",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 36005,
              "name": "IModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 1782,
              "src": "130:7:41",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 36008,
        "nodeType": "ImportDirective",
        "src": "217:96:41",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 36899,
        "sourceUnit": 2283,
        "symbolAliases": [
          {
            "foreign": {
              "id": 36007,
              "name": "IOracle",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2282,
              "src": "225:7:41",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 36010,
        "nodeType": "ImportDirective",
        "src": "314:70:41",
        "nodes": [],
        "absolutePath": "node_modules/solmate/src/utils/FixedPointMathLib.sol",
        "file": "solmate/utils/FixedPointMathLib.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 36899,
        "sourceUnit": 34904,
        "symbolAliases": [
          {
            "foreign": {
              "id": 36009,
              "name": "FixedPointMathLib",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 34903,
              "src": "322:17:41",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 36012,
        "nodeType": "ImportDirective",
        "src": "386:100:41",
        "nodes": [],
        "absolutePath": "solidity/interfaces/modules/dispute/IBondEscalationModule.sol",
        "file": "../../../interfaces/modules/dispute/IBondEscalationModule.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 36899,
        "sourceUnit": 43005,
        "symbolAliases": [
          {
            "foreign": {
              "id": 36011,
              "name": "IBondEscalationModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 43004,
              "src": "394:21:41",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 36898,
        "nodeType": "ContractDefinition",
        "src": "488:11439:41",
        "nodes": [
          {
            "id": 36023,
            "nodeType": "VariableDeclaration",
            "src": "595:100:41",
            "nodes": [],
            "baseFunctions": [
              42943
            ],
            "constant": false,
            "documentation": {
              "id": 36017,
              "nodeType": "StructuredDocumentation",
              "src": "555:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "076404dc",
            "mutability": "mutable",
            "name": "pledgesForDispute",
            "nameLocation": "678:17:41",
            "scope": 36898,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
              "typeString": "mapping(bytes32 => mapping(address => uint256))"
            },
            "typeName": {
              "id": 36022,
              "keyName": "_requestId",
              "keyNameLocation": "611:10:41",
              "keyType": {
                "id": 36018,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "603:7:41",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "595:75:41",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                "typeString": "mapping(bytes32 => mapping(address => uint256))"
              },
              "valueName": "",
              "valueNameLocation": "-1:-1:-1",
              "valueType": {
                "id": 36021,
                "keyName": "_pledger",
                "keyNameLocation": "641:8:41",
                "keyType": {
                  "id": 36019,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "633:7:41",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "625:44:41",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                  "typeString": "mapping(address => uint256)"
                },
                "valueName": "pledges",
                "valueNameLocation": "661:7:41",
                "valueType": {
                  "id": 36020,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "653:7:41",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                }
              }
            },
            "visibility": "public"
          },
          {
            "id": 36030,
            "nodeType": "VariableDeclaration",
            "src": "740:104:41",
            "nodes": [],
            "baseFunctions": [
              42953
            ],
            "constant": false,
            "documentation": {
              "id": 36024,
              "nodeType": "StructuredDocumentation",
              "src": "700:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "ef940cef",
            "mutability": "mutable",
            "name": "pledgesAgainstDispute",
            "nameLocation": "823:21:41",
            "scope": 36898,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
              "typeString": "mapping(bytes32 => mapping(address => uint256))"
            },
            "typeName": {
              "id": 36029,
              "keyName": "_requestId",
              "keyNameLocation": "756:10:41",
              "keyType": {
                "id": 36025,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "748:7:41",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "740:75:41",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                "typeString": "mapping(bytes32 => mapping(address => uint256))"
              },
              "valueName": "",
              "valueNameLocation": "-1:-1:-1",
              "valueType": {
                "id": 36028,
                "keyName": "_pledger",
                "keyNameLocation": "786:8:41",
                "keyType": {
                  "id": 36026,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "778:7:41",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "770:44:41",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                  "typeString": "mapping(address => uint256)"
                },
                "valueName": "pledges",
                "valueNameLocation": "806:7:41",
                "valueType": {
                  "id": 36027,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "798:7:41",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                }
              }
            },
            "visibility": "public"
          },
          {
            "id": 36036,
            "nodeType": "VariableDeclaration",
            "src": "929:67:41",
            "nodes": [],
            "constant": false,
            "documentation": {
              "id": 36031,
              "nodeType": "StructuredDocumentation",
              "src": "849:77:41",
              "text": " @notice Struct containing all the data for a given escalation."
            },
            "mutability": "mutable",
            "name": "_escalations",
            "nameLocation": "984:12:41",
            "scope": 36898,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
              "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation)"
            },
            "typeName": {
              "id": 36035,
              "keyName": "_requestId",
              "keyNameLocation": "945:10:41",
              "keyType": {
                "id": 36032,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "937:7:41",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "929:45:41",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation)"
              },
              "valueName": "",
              "valueNameLocation": "-1:-1:-1",
              "valueType": {
                "id": 36034,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 36033,
                  "name": "BondEscalation",
                  "nameLocations": [
                    "959:14:41"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 42915,
                  "src": "959:14:41"
                },
                "referencedDeclaration": 42915,
                "src": "959:14:41",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                  "typeString": "struct IBondEscalationModule.BondEscalation"
                }
              }
            },
            "visibility": "internal"
          },
          {
            "id": 36041,
            "nodeType": "VariableDeclaration",
            "src": "1074:76:41",
            "nodes": [],
            "constant": false,
            "documentation": {
              "id": 36037,
              "nodeType": "StructuredDocumentation",
              "src": "1001:70:41",
              "text": " @notice Mapping storing all dispute IDs to request IDs."
            },
            "mutability": "mutable",
            "name": "_disputeToRequest",
            "nameLocation": "1133:17:41",
            "scope": 36898,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$",
              "typeString": "mapping(bytes32 => bytes32)"
            },
            "typeName": {
              "id": 36040,
              "keyName": "_disputeId",
              "keyNameLocation": "1090:10:41",
              "keyType": {
                "id": 36038,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "1082:7:41",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "1074:49:41",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$",
                "typeString": "mapping(bytes32 => bytes32)"
              },
              "valueName": "_requestId",
              "valueNameLocation": "1112:10:41",
              "valueType": {
                "id": 36039,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "1104:7:41",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              }
            },
            "visibility": "internal"
          },
          {
            "id": 36051,
            "nodeType": "FunctionDefinition",
            "src": "1155:47:41",
            "nodes": [],
            "body": {
              "id": 36050,
              "nodeType": "Block",
              "src": "1200:2:41",
              "nodes": [],
              "statements": []
            },
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 36047,
                    "name": "_oracle",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 36044,
                    "src": "1191:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracle_$2282",
                      "typeString": "contract IOracle"
                    }
                  }
                ],
                "id": 36048,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 36046,
                  "name": "Module",
                  "nameLocations": [
                    "1184:6:41"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 98,
                  "src": "1184:6:41"
                },
                "nodeType": "ModifierInvocation",
                "src": "1184:15:41"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "parameters": {
              "id": 36045,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36044,
                  "mutability": "mutable",
                  "name": "_oracle",
                  "nameLocation": "1175:7:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36051,
                  "src": "1167:15:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IOracle_$2282",
                    "typeString": "contract IOracle"
                  },
                  "typeName": {
                    "id": 36043,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36042,
                      "name": "IOracle",
                      "nameLocations": [
                        "1167:7:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2282,
                      "src": "1167:7:41"
                    },
                    "referencedDeclaration": 2282,
                    "src": "1167:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracle_$2282",
                      "typeString": "contract IOracle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1166:17:41"
            },
            "returnParameters": {
              "id": 36049,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1200:0:41"
            },
            "scope": 36898,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 36060,
            "nodeType": "FunctionDefinition",
            "src": "1232:112:41",
            "nodes": [],
            "body": {
              "id": 36059,
              "nodeType": "Block",
              "src": "1304:40:41",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "hexValue": "426f6e64457363616c6174696f6e4d6f64756c65",
                    "id": 36057,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1317:22:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_52fa2b718912838514e1f268fead19863141f05e608ce53dda0d4b69eef878a6",
                      "typeString": "literal_string \"BondEscalationModule\""
                    },
                    "value": "BondEscalationModule"
                  },
                  "functionReturnParameters": 36056,
                  "id": 36058,
                  "nodeType": "Return",
                  "src": "1310:29:41"
                }
              ]
            },
            "baseFunctions": [
              1781
            ],
            "documentation": {
              "id": 36052,
              "nodeType": "StructuredDocumentation",
              "src": "1206:23:41",
              "text": "@inheritdoc IModule"
            },
            "functionSelector": "93f0899a",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "moduleName",
            "nameLocation": "1241:10:41",
            "parameters": {
              "id": 36053,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1251:2:41"
            },
            "returnParameters": {
              "id": 36056,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36055,
                  "mutability": "mutable",
                  "name": "_moduleName",
                  "nameLocation": "1291:11:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36060,
                  "src": "1277:25:41",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 36054,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1277:6:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1276:27:41"
            },
            "scope": 36898,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36094,
            "nodeType": "FunctionDefinition",
            "src": "1470:309:41",
            "nodes": [],
            "body": {
              "id": 36093,
              "nodeType": "Block",
              "src": "1552:227:41",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    36071
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36071,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "1583:7:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36093,
                      "src": "1558:32:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 36070,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36069,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "1558:17:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42905,
                          "src": "1558:17:41"
                        },
                        "referencedDeclaration": 42905,
                        "src": "1558:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                          "typeString": "struct IBondEscalationModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36078,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36074,
                        "name": "_data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36065,
                        "src": "1604:5:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 36075,
                            "name": "RequestParameters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42905,
                            "src": "1612:17:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_RequestParameters_$42905_storage_ptr_$",
                              "typeString": "type(struct IBondEscalationModule.RequestParameters storage pointer)"
                            }
                          }
                        ],
                        "id": 36076,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "1611:19:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_RequestParameters_$42905_storage_ptr_$",
                          "typeString": "type(struct IBondEscalationModule.RequestParameters storage pointer)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        },
                        {
                          "typeIdentifier": "t_type$_t_struct$_RequestParameters_$42905_storage_ptr_$",
                          "typeString": "type(struct IBondEscalationModule.RequestParameters storage pointer)"
                        }
                      ],
                      "expression": {
                        "id": 36072,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "1593:3:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 36073,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "1597:6:41",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "1593:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 36077,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1593:38:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                      "typeString": "struct IBondEscalationModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1558:73:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 36087,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36082,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36079,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36071,
                          "src": "1641:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36080,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1649:22:41",
                        "memberName": "maxNumberOfEscalations",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42898,
                        "src": "1641:30:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "hexValue": "30",
                        "id": 36081,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1675:1:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "1641:35:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36086,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36083,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36071,
                          "src": "1680:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36084,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1688:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "1680:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "hexValue": "30",
                        "id": 36085,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1700:1:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "1680:21:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1641:60:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36092,
                  "nodeType": "IfStatement",
                  "src": "1637:138:41",
                  "trueBody": {
                    "id": 36091,
                    "nodeType": "Block",
                    "src": "1703:72:41",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 36088,
                            "name": "BondEscalationModule_InvalidEscalationParameters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42882,
                            "src": "1718:48:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 36089,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1718:50:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36090,
                        "nodeType": "RevertStatement",
                        "src": "1711:57:41"
                      }
                    ]
                  }
                }
              ]
            },
            "baseFunctions": [
              97
            ],
            "documentation": {
              "id": 36061,
              "nodeType": "StructuredDocumentation",
              "src": "1348:119:41",
              "text": " @notice Checks if the escalation parameters are valid\n @param _data The encoded data for the request"
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterSetupRequest",
            "nameLocation": "1479:18:41",
            "overrides": {
              "id": 36067,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1543:8:41"
            },
            "parameters": {
              "id": 36066,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36063,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 36094,
                  "src": "1498:7:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36062,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1498:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36065,
                  "mutability": "mutable",
                  "name": "_data",
                  "nameLocation": "1522:5:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36094,
                  "src": "1507:20:41",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 36064,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1507:5:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1497:31:41"
            },
            "returnParameters": {
              "id": 36068,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1552:0:41"
            },
            "scope": 36898,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "id": 36187,
            "nodeType": "FunctionDefinition",
            "src": "1823:972:41",
            "nodes": [],
            "body": {
              "id": 36186,
              "nodeType": "Block",
              "src": "1889:906:41",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    36106
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36106,
                      "mutability": "mutable",
                      "name": "_dispute",
                      "nameLocation": "1918:8:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36186,
                      "src": "1895:31:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute"
                      },
                      "typeName": {
                        "id": 36105,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36104,
                          "name": "IOracle.Dispute",
                          "nameLocations": [
                            "1895:7:41",
                            "1903:7:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2045,
                          "src": "1895:15:41"
                        },
                        "referencedDeclaration": 2045,
                        "src": "1895:15:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Dispute_$2045_storage_ptr",
                          "typeString": "struct IOracle.Dispute"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36111,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36109,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36097,
                        "src": "1947:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 36107,
                        "name": "ORACLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10,
                        "src": "1929:6:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IOracle_$2282",
                          "typeString": "contract IOracle"
                        }
                      },
                      "id": 36108,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1936:10:41",
                      "memberName": "getDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2162,
                      "src": "1929:17:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Dispute_$2045_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (struct IOracle.Dispute memory)"
                      }
                    },
                    "id": 36110,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1929:29:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                      "typeString": "struct IOracle.Dispute memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1895:63:41"
                },
                {
                  "assignments": [
                    36113
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36113,
                      "mutability": "mutable",
                      "name": "_requestId",
                      "nameLocation": "1972:10:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36186,
                      "src": "1964:18:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 36112,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "1964:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36116,
                  "initialValue": {
                    "expression": {
                      "id": 36114,
                      "name": "_dispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36106,
                      "src": "1985:8:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "id": 36115,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "1994:9:41",
                    "memberName": "requestId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2041,
                    "src": "1985:18:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1964:39:41"
                },
                {
                  "assignments": [
                    36119
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36119,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "2032:11:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36186,
                      "src": "2009:34:41",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation"
                      },
                      "typeName": {
                        "id": 36118,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36117,
                          "name": "BondEscalation",
                          "nameLocations": [
                            "2009:14:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42915,
                          "src": "2009:14:41"
                        },
                        "referencedDeclaration": 42915,
                        "src": "2009:14:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36123,
                  "initialValue": {
                    "baseExpression": {
                      "id": 36120,
                      "name": "_escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36036,
                      "src": "2046:12:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation storage ref)"
                      }
                    },
                    "id": 36122,
                    "indexExpression": {
                      "id": 36121,
                      "name": "_requestId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36113,
                      "src": "2059:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2046:24:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_BondEscalation_$42915_storage",
                      "typeString": "struct IBondEscalationModule.BondEscalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2009:61:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 36129,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 36124,
                      "name": "_requestId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36113,
                      "src": "2081:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 36127,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2103:1:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 36126,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "2095:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes32_$",
                          "typeString": "type(bytes32)"
                        },
                        "typeName": {
                          "id": 36125,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "2095:7:41",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 36128,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2095:10:41",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "2081:24:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36133,
                  "nodeType": "IfStatement",
                  "src": "2077:79:41",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 36130,
                        "name": "BondEscalationModule_DisputeDoesNotExist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42873,
                        "src": "2114:40:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 36131,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2114:42:41",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 36132,
                    "nodeType": "RevertStatement",
                    "src": "2107:49:41"
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 36137,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 36134,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36097,
                      "src": "2167:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "id": 36135,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36119,
                        "src": "2181:11:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                        }
                      },
                      "id": 36136,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2193:9:41",
                      "memberName": "disputeId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42907,
                      "src": "2181:21:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "2167:35:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36185,
                  "nodeType": "IfStatement",
                  "src": "2163:628:41",
                  "trueBody": {
                    "id": 36184,
                    "nodeType": "Block",
                    "src": "2204:587:41",
                    "statements": [
                      {
                        "assignments": [
                          36140
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 36140,
                            "mutability": "mutable",
                            "name": "_params",
                            "nameLocation": "2237:7:41",
                            "nodeType": "VariableDeclaration",
                            "scope": 36184,
                            "src": "2212:32:41",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                              "typeString": "struct IBondEscalationModule.RequestParameters"
                            },
                            "typeName": {
                              "id": 36139,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 36138,
                                "name": "RequestParameters",
                                "nameLocations": [
                                  "2212:17:41"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 42905,
                                "src": "2212:17:41"
                              },
                              "referencedDeclaration": 42905,
                              "src": "2212:17:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                                "typeString": "struct IBondEscalationModule.RequestParameters"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 36144,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 36142,
                              "name": "_requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36113,
                              "src": "2265:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 36141,
                            "name": "decodeRequestData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36881,
                            "src": "2247:17:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                              "typeString": "function (bytes32) view returns (struct IBondEscalationModule.RequestParameters memory)"
                            }
                          },
                          "id": 36143,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2247:29:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "2212:64:41"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 36149,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 36145,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -4,
                              "src": "2288:5:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 36146,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2294:9:41",
                            "memberName": "timestamp",
                            "nodeType": "MemberAccess",
                            "src": "2288:15:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "expression": {
                              "id": 36147,
                              "name": "_params",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36140,
                              "src": "2307:7:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                                "typeString": "struct IBondEscalationModule.RequestParameters memory"
                              }
                            },
                            "id": 36148,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2315:22:41",
                            "memberName": "bondEscalationDeadline",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42900,
                            "src": "2307:30:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2288:49:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 36153,
                        "nodeType": "IfStatement",
                        "src": "2284:106:41",
                        "trueBody": {
                          "errorCall": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 36150,
                              "name": "BondEscalationModule_BondEscalationNotOver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42846,
                              "src": "2346:42:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 36151,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2346:44:41",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 36152,
                          "nodeType": "RevertStatement",
                          "src": "2339:51:41"
                        }
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 36164,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            },
                            "id": 36158,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "id": 36154,
                                "name": "_escalation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 36119,
                                "src": "2412:11:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                  "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                                }
                              },
                              "id": 36155,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2424:6:41",
                              "memberName": "status",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42910,
                              "src": "2412:18:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "expression": {
                                "id": 36156,
                                "name": "BondEscalationStatus",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 42888,
                                "src": "2434:20:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                                  "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                                }
                              },
                              "id": 36157,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "2455:6:41",
                              "memberName": "Active",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42884,
                              "src": "2434:27:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            },
                            "src": "2412:49:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 36163,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "id": 36159,
                                "name": "_escalation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 36119,
                                "src": "2475:11:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                  "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                                }
                              },
                              "id": 36160,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2487:25:41",
                              "memberName": "amountOfPledgesForDispute",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42912,
                              "src": "2475:37:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "expression": {
                                "id": 36161,
                                "name": "_escalation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 36119,
                                "src": "2516:11:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                  "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                                }
                              },
                              "id": 36162,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2528:29:41",
                              "memberName": "amountOfPledgesAgainstDispute",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42914,
                              "src": "2516:41:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "2475:82:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "2412:145:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 36169,
                        "nodeType": "IfStatement",
                        "src": "2399:230:41",
                        "trueBody": {
                          "id": 36168,
                          "nodeType": "Block",
                          "src": "2566:63:41",
                          "statements": [
                            {
                              "errorCall": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 36165,
                                  "name": "BondEscalationModule_NotEscalatable",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 42870,
                                  "src": "2583:35:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                    "typeString": "function () pure"
                                  }
                                },
                                "id": 36166,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2583:37:41",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 36167,
                              "nodeType": "RevertStatement",
                              "src": "2576:44:41"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "id": 36175,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 36170,
                              "name": "_escalation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36119,
                              "src": "2637:11:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                              }
                            },
                            "id": 36172,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "2649:6:41",
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42910,
                            "src": "2637:18:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "id": 36173,
                              "name": "BondEscalationStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42888,
                              "src": "2658:20:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                                "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                              }
                            },
                            "id": 36174,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "2679:9:41",
                            "memberName": "Escalated",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42885,
                            "src": "2658:30:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            }
                          },
                          "src": "2637:51:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                            "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                          }
                        },
                        "id": 36176,
                        "nodeType": "ExpressionStatement",
                        "src": "2637:51:41"
                      },
                      {
                        "eventCall": {
                          "arguments": [
                            {
                              "id": 36178,
                              "name": "_requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36113,
                              "src": "2729:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "id": 36179,
                              "name": "_disputeId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36097,
                              "src": "2741:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "expression": {
                                "id": 36180,
                                "name": "BondEscalationStatus",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 42888,
                                "src": "2753:20:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                                  "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                                }
                              },
                              "id": 36181,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "2774:9:41",
                              "memberName": "Escalated",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42885,
                              "src": "2753:30:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            ],
                            "id": 36177,
                            "name": "BondEscalationStatusUpdated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42843,
                            "src": "2701:27:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_BondEscalationStatus_$42888_$returns$__$",
                              "typeString": "function (bytes32,bytes32,enum IBondEscalationModule.BondEscalationStatus)"
                            }
                          },
                          "id": 36182,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2701:83:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36183,
                        "nodeType": "EmitStatement",
                        "src": "2696:88:41"
                      }
                    ]
                  }
                }
              ]
            },
            "baseFunctions": [
              42985
            ],
            "documentation": {
              "id": 36095,
              "nodeType": "StructuredDocumentation",
              "src": "1783:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "7fadb88d",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 36100,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 36099,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "1878:10:41"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "1878:10:41"
                },
                "nodeType": "ModifierInvocation",
                "src": "1878:10:41"
              }
            ],
            "name": "disputeEscalated",
            "nameLocation": "1832:16:41",
            "parameters": {
              "id": 36098,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36097,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "1857:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36187,
                  "src": "1849:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36096,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1849:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1848:20:41"
            },
            "returnParameters": {
              "id": 36101,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1889:0:41"
            },
            "scope": 36898,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36324,
            "nodeType": "FunctionDefinition",
            "src": "2839:1570:41",
            "nodes": [],
            "body": {
              "id": 36323,
              "nodeType": "Block",
              "src": "3025:1384:41",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    36206
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36206,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "3056:7:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36323,
                      "src": "3031:32:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 36205,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36204,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "3031:17:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42905,
                          "src": "3031:17:41"
                        },
                        "referencedDeclaration": 42905,
                        "src": "3031:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                          "typeString": "struct IBondEscalationModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36210,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36208,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36190,
                        "src": "3084:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 36207,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36881,
                      "src": "3066:17:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondEscalationModule.RequestParameters memory)"
                      }
                    },
                    "id": 36209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3066:29:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                      "typeString": "struct IBondEscalationModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3031:64:41"
                },
                {
                  "assignments": [
                    36215
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36215,
                      "mutability": "mutable",
                      "name": "_response",
                      "nameLocation": "3126:9:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36323,
                      "src": "3102:33:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Response_$2031_memory_ptr",
                        "typeString": "struct IOracle.Response"
                      },
                      "typeName": {
                        "id": 36214,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36213,
                          "name": "IOracle.Response",
                          "nameLocations": [
                            "3102:7:41",
                            "3110:8:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2031,
                          "src": "3102:16:41"
                        },
                        "referencedDeclaration": 2031,
                        "src": "3102:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Response_$2031_storage_ptr",
                          "typeString": "struct IOracle.Response"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36220,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36218,
                        "name": "_responseId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36192,
                        "src": "3157:11:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 36216,
                        "name": "ORACLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10,
                        "src": "3138:6:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IOracle_$2282",
                          "typeString": "contract IOracle"
                        }
                      },
                      "id": 36217,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3145:11:41",
                      "memberName": "getResponse",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2118,
                      "src": "3138:18:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Response_$2031_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (struct IOracle.Response memory)"
                      }
                    },
                    "id": 36219,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3138:31:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$2031_memory_ptr",
                      "typeString": "struct IOracle.Response memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3102:67:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 36228,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 36221,
                        "name": "block",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -4,
                        "src": "3179:5:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_block",
                          "typeString": "block"
                        }
                      },
                      "id": 36222,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3185:9:41",
                      "memberName": "timestamp",
                      "nodeType": "MemberAccess",
                      "src": "3179:15:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36227,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36223,
                          "name": "_response",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36215,
                          "src": "3197:9:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Response_$2031_memory_ptr",
                            "typeString": "struct IOracle.Response memory"
                          }
                        },
                        "id": 36224,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3207:9:41",
                        "memberName": "createdAt",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2022,
                        "src": "3197:19:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "expression": {
                          "id": 36225,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36206,
                          "src": "3219:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36226,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3227:13:41",
                        "memberName": "disputeWindow",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42904,
                        "src": "3219:21:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "3197:43:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3179:61:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36233,
                  "nodeType": "IfStatement",
                  "src": "3175:129:41",
                  "trueBody": {
                    "id": 36232,
                    "nodeType": "Block",
                    "src": "3242:62:41",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 36229,
                            "name": "BondEscalationModule_DisputeWindowOver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42879,
                            "src": "3257:38:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 36230,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3257:40:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36231,
                        "nodeType": "RevertStatement",
                        "src": "3250:47:41"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    36236
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36236,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "3333:11:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36323,
                      "src": "3310:34:41",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation"
                      },
                      "typeName": {
                        "id": 36235,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36234,
                          "name": "BondEscalation",
                          "nameLocations": [
                            "3310:14:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42915,
                          "src": "3310:14:41"
                        },
                        "referencedDeclaration": 42915,
                        "src": "3310:14:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36240,
                  "initialValue": {
                    "baseExpression": {
                      "id": 36237,
                      "name": "_escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36036,
                      "src": "3347:12:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation storage ref)"
                      }
                    },
                    "id": 36239,
                    "indexExpression": {
                      "id": 36238,
                      "name": "_requestId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36190,
                      "src": "3360:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "3347:24:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_BondEscalation_$42915_storage",
                      "typeString": "struct IBondEscalationModule.BondEscalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3310:61:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 36245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 36241,
                        "name": "block",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -4,
                        "src": "3382:5:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_block",
                          "typeString": "block"
                        }
                      },
                      "id": 36242,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3388:9:41",
                      "memberName": "timestamp",
                      "nodeType": "MemberAccess",
                      "src": "3382:15:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "expression": {
                        "id": 36243,
                        "name": "_params",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36206,
                        "src": "3400:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                          "typeString": "struct IBondEscalationModule.RequestParameters memory"
                        }
                      },
                      "id": 36244,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3408:22:41",
                      "memberName": "bondEscalationDeadline",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42900,
                      "src": "3400:30:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3382:48:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36249,
                  "nodeType": "IfStatement",
                  "src": "3378:102:41",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 36246,
                        "name": "BondEscalationModule_BondEscalationOver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42867,
                        "src": "3439:39:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 36247,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3439:41:41",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 36248,
                    "nodeType": "RevertStatement",
                    "src": "3432:48:41"
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                      "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                    },
                    "id": 36254,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 36250,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36236,
                        "src": "3491:11:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                        }
                      },
                      "id": 36251,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3503:6:41",
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42910,
                      "src": "3491:18:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "id": 36252,
                        "name": "BondEscalationStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42888,
                        "src": "3513:20:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                          "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                        }
                      },
                      "id": 36253,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "3534:4:41",
                      "memberName": "None",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42883,
                      "src": "3513:25:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      }
                    },
                    "src": "3491:47:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36287,
                  "nodeType": "IfStatement",
                  "src": "3487:441:41",
                  "trueBody": {
                    "id": 36286,
                    "nodeType": "Block",
                    "src": "3540:388:41",
                    "statements": [
                      {
                        "expression": {
                          "id": 36260,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 36255,
                              "name": "_escalation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36236,
                              "src": "3548:11:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                              }
                            },
                            "id": 36257,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "3560:6:41",
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42910,
                            "src": "3548:18:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "id": 36258,
                              "name": "BondEscalationStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42888,
                              "src": "3569:20:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                                "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                              }
                            },
                            "id": 36259,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "3590:6:41",
                            "memberName": "Active",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42884,
                            "src": "3569:27:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            }
                          },
                          "src": "3548:48:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                            "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                          }
                        },
                        "id": 36261,
                        "nodeType": "ExpressionStatement",
                        "src": "3548:48:41"
                      },
                      {
                        "assignments": [
                          36263
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 36263,
                            "mutability": "mutable",
                            "name": "_disputeId",
                            "nameLocation": "3710:10:41",
                            "nodeType": "VariableDeclaration",
                            "scope": 36286,
                            "src": "3702:18:41",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "typeName": {
                              "id": 36262,
                              "name": "bytes32",
                              "nodeType": "ElementaryTypeName",
                              "src": "3702:7:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 36272,
                        "initialValue": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 36267,
                                  "name": "_disputer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 36194,
                                  "src": "3750:9:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "id": 36268,
                                  "name": "_requestId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 36190,
                                  "src": "3761:10:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "id": 36269,
                                  "name": "_responseId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 36192,
                                  "src": "3773:11:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "id": 36265,
                                  "name": "abi",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -1,
                                  "src": "3733:3:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_abi",
                                    "typeString": "abi"
                                  }
                                },
                                "id": 36266,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "3737:12:41",
                                "memberName": "encodePacked",
                                "nodeType": "MemberAccess",
                                "src": "3733:16:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function () pure returns (bytes memory)"
                                }
                              },
                              "id": 36270,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3733:52:41",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 36264,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -8,
                            "src": "3723:9:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                              "typeString": "function (bytes memory) pure returns (bytes32)"
                            }
                          },
                          "id": 36271,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3723:63:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3702:84:41"
                      },
                      {
                        "expression": {
                          "id": 36277,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 36273,
                              "name": "_escalation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36236,
                              "src": "3794:11:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                              }
                            },
                            "id": 36275,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "3806:9:41",
                            "memberName": "disputeId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42907,
                            "src": "3794:21:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 36276,
                            "name": "_disputeId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36263,
                            "src": "3818:10:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "3794:34:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 36278,
                        "nodeType": "ExpressionStatement",
                        "src": "3794:34:41"
                      },
                      {
                        "eventCall": {
                          "arguments": [
                            {
                              "id": 36280,
                              "name": "_requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36190,
                              "src": "3869:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "id": 36281,
                              "name": "_disputeId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36263,
                              "src": "3881:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "expression": {
                                "id": 36282,
                                "name": "BondEscalationStatus",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 42888,
                                "src": "3893:20:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                                  "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                                }
                              },
                              "id": 36283,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "3914:6:41",
                              "memberName": "Active",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42884,
                              "src": "3893:27:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            ],
                            "id": 36279,
                            "name": "BondEscalationStatusUpdated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42843,
                            "src": "3841:27:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_BondEscalationStatus_$42888_$returns$__$",
                              "typeString": "function (bytes32,bytes32,enum IBondEscalationModule.BondEscalationStatus)"
                            }
                          },
                          "id": 36284,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3841:80:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36285,
                        "nodeType": "EmitStatement",
                        "src": "3836:85:41"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "id": 36301,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 36288,
                      "name": "_dispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36202,
                      "src": "3934:8:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 36291,
                          "name": "_disputer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36194,
                          "src": "3979:9:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "id": 36292,
                          "name": "_responseId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36192,
                          "src": "4008:11:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "id": 36293,
                          "name": "_proposer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36196,
                          "src": "4037:9:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "id": 36294,
                          "name": "_requestId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36190,
                          "src": "4065:10:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "expression": {
                            "expression": {
                              "id": 36295,
                              "name": "IOracle",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2282,
                              "src": "4091:7:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                                "typeString": "type(contract IOracle)"
                              }
                            },
                            "id": 36296,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "4099:13:41",
                            "memberName": "DisputeStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2052,
                            "src": "4091:21:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                              "typeString": "type(enum IOracle.DisputeStatus)"
                            }
                          },
                          "id": 36297,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "4113:6:41",
                          "memberName": "Active",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2047,
                          "src": "4091:28:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                            "typeString": "enum IOracle.DisputeStatus"
                          }
                        },
                        {
                          "expression": {
                            "id": 36298,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "4138:5:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 36299,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4144:9:41",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "4138:15:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                            "typeString": "enum IOracle.DisputeStatus"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 36289,
                          "name": "IOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2282,
                          "src": "3945:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                            "typeString": "type(contract IOracle)"
                          }
                        },
                        "id": 36290,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3953:7:41",
                        "memberName": "Dispute",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2045,
                        "src": "3945:15:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Dispute_$2045_storage_ptr_$",
                          "typeString": "type(struct IOracle.Dispute storage pointer)"
                        }
                      },
                      "id": 36300,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "nameLocations": [
                        "3969:8:41",
                        "3996:10:41",
                        "4027:8:41",
                        "4054:9:41",
                        "4083:6:41",
                        "4127:9:41"
                      ],
                      "names": [
                        "disputer",
                        "responseId",
                        "proposer",
                        "requestId",
                        "status",
                        "createdAt"
                      ],
                      "nodeType": "FunctionCall",
                      "src": "3945:215:41",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "src": "3934:226:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                      "typeString": "struct IOracle.Dispute memory"
                    }
                  },
                  "id": 36302,
                  "nodeType": "ExpressionStatement",
                  "src": "3934:226:41"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 36308,
                        "name": "_disputer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36194,
                        "src": "4217:9:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 36309,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36190,
                        "src": "4246:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36310,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36206,
                          "src": "4272:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36311,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4280:9:41",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42894,
                        "src": "4272:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "expression": {
                          "id": 36312,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36206,
                          "src": "4306:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36313,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4314:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "4306:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 36303,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36206,
                          "src": "4167:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36306,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4175:19:41",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42891,
                        "src": "4167:27:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                          "typeString": "contract IBondEscalationAccounting"
                        }
                      },
                      "id": 36307,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4195:4:41",
                      "memberName": "bond",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42530,
                      "src": "4167:32:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,contract IERC20,uint256) external"
                      }
                    },
                    "id": 36314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "4208:7:41",
                      "4234:10:41",
                      "4264:6:41",
                      "4297:7:41"
                    ],
                    "names": [
                      "_bonder",
                      "_requestId",
                      "_token",
                      "_amount"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "4167:162:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36315,
                  "nodeType": "ExpressionStatement",
                  "src": "4167:162:41"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 36317,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36190,
                        "src": "4358:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 36318,
                        "name": "_responseId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36192,
                        "src": "4370:11:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 36319,
                        "name": "_disputer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36194,
                        "src": "4383:9:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 36320,
                        "name": "_proposer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36196,
                        "src": "4394:9:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 36316,
                      "name": "ResponseDisputed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2301,
                      "src": "4341:16:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,address)"
                      }
                    },
                    "id": 36321,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4341:63:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36322,
                  "nodeType": "EmitStatement",
                  "src": "4336:68:41"
                }
              ]
            },
            "baseFunctions": [
              42969
            ],
            "documentation": {
              "id": 36188,
              "nodeType": "StructuredDocumentation",
              "src": "2799:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "98660c18",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 36199,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 36198,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "2972:10:41"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "2972:10:41"
                },
                "nodeType": "ModifierInvocation",
                "src": "2972:10:41"
              }
            ],
            "name": "disputeResponse",
            "nameLocation": "2848:15:41",
            "parameters": {
              "id": 36197,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36190,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "2877:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36324,
                  "src": "2869:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36189,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2869:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36192,
                  "mutability": "mutable",
                  "name": "_responseId",
                  "nameLocation": "2901:11:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36324,
                  "src": "2893:19:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36191,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2893:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36194,
                  "mutability": "mutable",
                  "name": "_disputer",
                  "nameLocation": "2926:9:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36324,
                  "src": "2918:17:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 36193,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2918:7:41",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36196,
                  "mutability": "mutable",
                  "name": "_proposer",
                  "nameLocation": "2949:9:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36324,
                  "src": "2941:17:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 36195,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2941:7:41",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2863:99:41"
            },
            "returnParameters": {
              "id": 36203,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36202,
                  "mutability": "mutable",
                  "name": "_dispute",
                  "nameLocation": "3015:8:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36324,
                  "src": "2992:31:41",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                    "typeString": "struct IOracle.Dispute"
                  },
                  "typeName": {
                    "id": 36201,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36200,
                      "name": "IOracle.Dispute",
                      "nameLocations": [
                        "2992:7:41",
                        "3000:7:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2045,
                      "src": "2992:15:41"
                    },
                    "referencedDeclaration": 2045,
                    "src": "2992:15:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_storage_ptr",
                      "typeString": "struct IOracle.Dispute"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2991:33:41"
            },
            "scope": 36898,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36483,
            "nodeType": "FunctionDefinition",
            "src": "4453:1848:41",
            "nodes": [],
            "body": {
              "id": 36482,
              "nodeType": "Block",
              "src": "4557:1744:41",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    36337
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36337,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "4588:7:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36482,
                      "src": "4563:32:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 36336,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36335,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "4563:17:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42905,
                          "src": "4563:17:41"
                        },
                        "referencedDeclaration": 42905,
                        "src": "4563:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                          "typeString": "struct IBondEscalationModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36342,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 36339,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36330,
                          "src": "4616:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 36340,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4625:9:41",
                        "memberName": "requestId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2041,
                        "src": "4616:18:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 36338,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36881,
                      "src": "4598:17:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondEscalationModule.RequestParameters memory)"
                      }
                    },
                    "id": 36341,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4598:37:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                      "typeString": "struct IBondEscalationModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4563:72:41"
                },
                {
                  "assignments": [
                    36344
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36344,
                      "mutability": "mutable",
                      "name": "_won",
                      "nameLocation": "4647:4:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36482,
                      "src": "4642:9:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 36343,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "4642:4:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36351,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                      "typeString": "enum IOracle.DisputeStatus"
                    },
                    "id": 36350,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 36345,
                        "name": "_dispute",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36330,
                        "src": "4654:8:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                          "typeString": "struct IOracle.Dispute memory"
                        }
                      },
                      "id": 36346,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4663:6:41",
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2044,
                      "src": "4654:15:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 36347,
                          "name": "IOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2282,
                          "src": "4673:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                            "typeString": "type(contract IOracle)"
                          }
                        },
                        "id": 36348,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4681:13:41",
                        "memberName": "DisputeStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2052,
                        "src": "4673:21:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                          "typeString": "type(enum IOracle.DisputeStatus)"
                        }
                      },
                      "id": 36349,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "4695:3:41",
                      "memberName": "Won",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2049,
                      "src": "4673:25:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      }
                    },
                    "src": "4654:44:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4642:56:41"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 36357,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36330,
                          "src": "4757:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 36358,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4766:9:41",
                        "memberName": "requestId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2041,
                        "src": "4757:18:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "condition": {
                          "id": 36359,
                          "name": "_won",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36344,
                          "src": "4791:4:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "expression": {
                            "id": 36362,
                            "name": "_dispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36330,
                            "src": "4818:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                              "typeString": "struct IOracle.Dispute memory"
                            }
                          },
                          "id": 36363,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4827:8:41",
                          "memberName": "disputer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2035,
                          "src": "4818:17:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 36364,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "4791:44:41",
                        "trueExpression": {
                          "expression": {
                            "id": 36360,
                            "name": "_dispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36330,
                            "src": "4798:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                              "typeString": "struct IOracle.Dispute memory"
                            }
                          },
                          "id": 36361,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4807:8:41",
                          "memberName": "proposer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2037,
                          "src": "4798:17:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "condition": {
                          "id": 36365,
                          "name": "_won",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36344,
                          "src": "4854:4:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "expression": {
                            "id": 36368,
                            "name": "_dispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36330,
                            "src": "4881:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                              "typeString": "struct IOracle.Dispute memory"
                            }
                          },
                          "id": 36369,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4890:8:41",
                          "memberName": "proposer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2037,
                          "src": "4881:17:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 36370,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "4854:44:41",
                        "trueExpression": {
                          "expression": {
                            "id": 36366,
                            "name": "_dispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36330,
                            "src": "4861:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                              "typeString": "struct IOracle.Dispute memory"
                            }
                          },
                          "id": 36367,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4870:8:41",
                          "memberName": "disputer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2035,
                          "src": "4861:17:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 36371,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36337,
                          "src": "4914:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36372,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4922:9:41",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42894,
                        "src": "4914:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "expression": {
                          "id": 36373,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36337,
                          "src": "4948:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36374,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4956:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "4948:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 36352,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36337,
                          "src": "4705:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36355,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4713:19:41",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42891,
                        "src": "4705:27:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                          "typeString": "contract IBondEscalationAccounting"
                        }
                      },
                      "id": 36356,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4733:3:41",
                      "memberName": "pay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42517,
                      "src": "4705:31:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,address,contract IERC20,uint256) external"
                      }
                    },
                    "id": 36375,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "4745:10:41",
                      "4783:6:41",
                      "4843:9:41",
                      "4906:6:41",
                      "4939:7:41"
                    ],
                    "names": [
                      "_requestId",
                      "_payer",
                      "_receiver",
                      "_token",
                      "_amount"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "4705:266:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36376,
                  "nodeType": "ExpressionStatement",
                  "src": "4705:266:41"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "condition": {
                          "id": 36382,
                          "name": "_won",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36344,
                          "src": "5031:4:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "expression": {
                            "id": 36385,
                            "name": "_dispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36330,
                            "src": "5058:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                              "typeString": "struct IOracle.Dispute memory"
                            }
                          },
                          "id": 36386,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5067:8:41",
                          "memberName": "proposer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2037,
                          "src": "5058:17:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 36387,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "5031:44:41",
                        "trueExpression": {
                          "expression": {
                            "id": 36383,
                            "name": "_dispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36330,
                            "src": "5038:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                              "typeString": "struct IOracle.Dispute memory"
                            }
                          },
                          "id": 36384,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5047:8:41",
                          "memberName": "disputer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2035,
                          "src": "5038:17:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 36388,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36330,
                          "src": "5095:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 36389,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5104:9:41",
                        "memberName": "requestId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2041,
                        "src": "5095:18:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36390,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36337,
                          "src": "5129:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36391,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5137:9:41",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42894,
                        "src": "5129:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "expression": {
                          "id": 36392,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36337,
                          "src": "5163:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36393,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5171:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "5163:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 36377,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36337,
                          "src": "4978:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36380,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4986:19:41",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42891,
                        "src": "4978:27:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                          "typeString": "contract IBondEscalationAccounting"
                        }
                      },
                      "id": 36381,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5006:7:41",
                      "memberName": "release",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42558,
                      "src": "4978:35:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,contract IERC20,uint256) external"
                      }
                    },
                    "id": 36394,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "5022:7:41",
                      "5083:10:41",
                      "5121:6:41",
                      "5154:7:41"
                    ],
                    "names": [
                      "_bonder",
                      "_requestId",
                      "_token",
                      "_amount"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "4978:208:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36395,
                  "nodeType": "ExpressionStatement",
                  "src": "4978:208:41"
                },
                {
                  "assignments": [
                    36398
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36398,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "5216:11:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36482,
                      "src": "5193:34:41",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation"
                      },
                      "typeName": {
                        "id": 36397,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36396,
                          "name": "BondEscalation",
                          "nameLocations": [
                            "5193:14:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42915,
                          "src": "5193:14:41"
                        },
                        "referencedDeclaration": 42915,
                        "src": "5193:14:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36403,
                  "initialValue": {
                    "baseExpression": {
                      "id": 36399,
                      "name": "_escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36036,
                      "src": "5230:12:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation storage ref)"
                      }
                    },
                    "id": 36402,
                    "indexExpression": {
                      "expression": {
                        "id": 36400,
                        "name": "_dispute",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36330,
                        "src": "5243:8:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                          "typeString": "struct IOracle.Dispute memory"
                        }
                      },
                      "id": 36401,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5252:9:41",
                      "memberName": "requestId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2041,
                      "src": "5243:18:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "5230:32:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_BondEscalation_$42915_storage",
                      "typeString": "struct IBondEscalationModule.BondEscalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5193:69:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 36413,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 36407,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 36404,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36327,
                        "src": "5273:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "id": 36405,
                          "name": "_escalation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36398,
                          "src": "5287:11:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                            "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                          }
                        },
                        "id": 36406,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5299:9:41",
                        "memberName": "disputeId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42907,
                        "src": "5287:21:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "5273:35:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      },
                      "id": 36412,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36408,
                          "name": "_escalation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36398,
                          "src": "5312:11:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                            "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                          }
                        },
                        "id": 36409,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5324:6:41",
                        "memberName": "status",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42910,
                        "src": "5312:18:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                          "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "id": 36410,
                          "name": "BondEscalationStatus",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 42888,
                          "src": "5334:20:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                            "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                          }
                        },
                        "id": 36411,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "5355:9:41",
                        "memberName": "Escalated",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42885,
                        "src": "5334:30:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                          "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                        }
                      },
                      "src": "5312:52:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "5273:91:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36468,
                  "nodeType": "IfStatement",
                  "src": "5269:807:41",
                  "trueBody": {
                    "id": 36467,
                    "nodeType": "Block",
                    "src": "5366:710:41",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 36417,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 36414,
                              "name": "_escalation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36398,
                              "src": "5378:11:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                              }
                            },
                            "id": 36415,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5390:29:41",
                            "memberName": "amountOfPledgesAgainstDispute",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42914,
                            "src": "5378:41:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 36416,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5423:1:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5378:46:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 36420,
                        "nodeType": "IfStatement",
                        "src": "5374:77:41",
                        "trueBody": {
                          "id": 36419,
                          "nodeType": "Block",
                          "src": "5426:25:41",
                          "statements": [
                            {
                              "functionReturnParameters": 36334,
                              "id": 36418,
                              "nodeType": "Return",
                              "src": "5436:7:41"
                            }
                          ]
                        }
                      },
                      {
                        "assignments": [
                          36423
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 36423,
                            "mutability": "mutable",
                            "name": "_newStatus",
                            "nameLocation": "5480:10:41",
                            "nodeType": "VariableDeclaration",
                            "scope": 36467,
                            "src": "5459:31:41",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            },
                            "typeName": {
                              "id": 36422,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 36421,
                                "name": "BondEscalationStatus",
                                "nameLocations": [
                                  "5459:20:41"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 42888,
                                "src": "5459:20:41"
                              },
                              "referencedDeclaration": 42888,
                              "src": "5459:20:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 36430,
                        "initialValue": {
                          "condition": {
                            "id": 36424,
                            "name": "_won",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36344,
                            "src": "5493:4:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "expression": {
                              "id": 36427,
                              "name": "BondEscalationStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42888,
                              "src": "5535:20:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                                "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                              }
                            },
                            "id": 36428,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "5556:12:41",
                            "memberName": "DisputerLost",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42886,
                            "src": "5535:33:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            }
                          },
                          "id": 36429,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "5493:75:41",
                          "trueExpression": {
                            "expression": {
                              "id": 36425,
                              "name": "BondEscalationStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42888,
                              "src": "5500:20:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                                "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                              }
                            },
                            "id": 36426,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "5521:11:41",
                            "memberName": "DisputerWon",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42887,
                            "src": "5500:32:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                            "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5459:109:41"
                      },
                      {
                        "expression": {
                          "id": 36435,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 36431,
                              "name": "_escalation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36398,
                              "src": "5577:11:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                              }
                            },
                            "id": 36433,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "5589:6:41",
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42910,
                            "src": "5577:18:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 36434,
                            "name": "_newStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36423,
                            "src": "5598:10:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                              "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                            }
                          },
                          "src": "5577:31:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                            "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                          }
                        },
                        "id": 36436,
                        "nodeType": "ExpressionStatement",
                        "src": "5577:31:41"
                      },
                      {
                        "eventCall": {
                          "arguments": [
                            {
                              "expression": {
                                "id": 36438,
                                "name": "_dispute",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 36330,
                                "src": "5650:8:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                                  "typeString": "struct IOracle.Dispute memory"
                                }
                              },
                              "id": 36439,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5659:9:41",
                              "memberName": "requestId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2041,
                              "src": "5650:18:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "id": 36440,
                              "name": "_disputeId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36327,
                              "src": "5670:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "id": 36441,
                              "name": "_newStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36423,
                              "src": "5682:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                                "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                              }
                            ],
                            "id": 36437,
                            "name": "BondEscalationStatusUpdated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42843,
                            "src": "5622:27:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_BondEscalationStatus_$42888_$returns$__$",
                              "typeString": "function (bytes32,bytes32,enum IBondEscalationModule.BondEscalationStatus)"
                            }
                          },
                          "id": 36442,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5622:71:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36443,
                        "nodeType": "EmitStatement",
                        "src": "5617:76:41"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "expression": {
                                "id": 36449,
                                "name": "_dispute",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 36330,
                                "src": "5775:8:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                                  "typeString": "struct IOracle.Dispute memory"
                                }
                              },
                              "id": 36450,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5784:9:41",
                              "memberName": "requestId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2041,
                              "src": "5775:18:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "id": 36451,
                              "name": "_disputeId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36327,
                              "src": "5815:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "id": 36452,
                              "name": "_won",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36344,
                              "src": "5849:4:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "expression": {
                                "id": 36453,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 36337,
                                "src": "5871:7:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                                  "typeString": "struct IBondEscalationModule.RequestParameters memory"
                                }
                              },
                              "id": 36454,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5879:9:41",
                              "memberName": "bondToken",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42894,
                              "src": "5871:17:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              }
                            },
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 36458,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 36455,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 36337,
                                  "src": "5917:7:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                                    "typeString": "struct IBondEscalationModule.RequestParameters memory"
                                  }
                                },
                                "id": 36456,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "5925:8:41",
                                "memberName": "bondSize",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 42896,
                                "src": "5917:16:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<<",
                              "rightExpression": {
                                "hexValue": "31",
                                "id": 36457,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "5937:1:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "src": "5917:21:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "condition": {
                                "id": 36459,
                                "name": "_won",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 36344,
                                "src": "5972:4:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseExpression": {
                                "expression": {
                                  "id": 36462,
                                  "name": "_escalation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 36398,
                                  "src": "6019:11:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                    "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                                  }
                                },
                                "id": 36463,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "6031:29:41",
                                "memberName": "amountOfPledgesAgainstDispute",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 42914,
                                "src": "6019:41:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 36464,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "Conditional",
                              "src": "5972:88:41",
                              "trueExpression": {
                                "expression": {
                                  "id": 36460,
                                  "name": "_escalation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 36398,
                                  "src": "5979:11:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                                    "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                                  }
                                },
                                "id": 36461,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "5991:25:41",
                                "memberName": "amountOfPledgesForDispute",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 42912,
                                "src": "5979:37:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 36444,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 36337,
                                "src": "5702:7:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                                  "typeString": "struct IBondEscalationModule.RequestParameters memory"
                                }
                              },
                              "id": 36447,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5710:19:41",
                              "memberName": "accountingExtension",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42891,
                              "src": "5702:27:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                                "typeString": "contract IBondEscalationAccounting"
                              }
                            },
                            "id": 36448,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5730:22:41",
                            "memberName": "onSettleBondEscalation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42760,
                            "src": "5702:50:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bool_$_t_contract$_IERC20_$2822_$_t_uint256_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,bytes32,bool,contract IERC20,uint256,uint256) external"
                            }
                          },
                          "id": 36465,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "5763:10:41",
                            "5803:10:41",
                            "5835:12:41",
                            "5863:6:41",
                            "5898:17:41",
                            "5948:22:41"
                          ],
                          "names": [
                            "_requestId",
                            "_disputeId",
                            "_forVotesWon",
                            "_token",
                            "_amountPerPledger",
                            "_winningPledgersLength"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "5702:367:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36466,
                        "nodeType": "ExpressionStatement",
                        "src": "5702:367:41"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 36470,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36330,
                          "src": "6127:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 36471,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6136:9:41",
                        "memberName": "requestId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2041,
                        "src": "6127:18:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36472,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36330,
                          "src": "6166:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 36473,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6175:10:41",
                        "memberName": "responseId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2039,
                        "src": "6166:19:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36474,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36330,
                          "src": "6204:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 36475,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6213:8:41",
                        "memberName": "disputer",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2035,
                        "src": "6204:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 36476,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36330,
                          "src": "6240:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 36477,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6249:8:41",
                        "memberName": "proposer",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2037,
                        "src": "6240:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 36478,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36330,
                          "src": "6274:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 36479,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6283:6:41",
                        "memberName": "status",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2044,
                        "src": "6274:15:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      ],
                      "id": 36469,
                      "name": "DisputeStatusChanged",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2315,
                      "src": "6086:20:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_address_$_t_enum$_DisputeStatus_$2052_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,address,enum IOracle.DisputeStatus)"
                      }
                    },
                    "id": 36480,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "6115:10:41",
                      "6153:11:41",
                      "6193:9:41",
                      "6229:9:41",
                      "6265:7:41"
                    ],
                    "names": [
                      "_requestId",
                      "_responseId",
                      "_disputer",
                      "_proposer",
                      "_status"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "6086:210:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36481,
                  "nodeType": "EmitStatement",
                  "src": "6081:215:41"
                }
              ]
            },
            "baseFunctions": [
              42979
            ],
            "documentation": {
              "id": 36325,
              "nodeType": "StructuredDocumentation",
              "src": "4413:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "34837c29",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 36333,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 36332,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "4546:10:41"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "4546:10:41"
                },
                "nodeType": "ModifierInvocation",
                "src": "4546:10:41"
              }
            ],
            "name": "onDisputeStatusChange",
            "nameLocation": "4462:21:41",
            "parameters": {
              "id": 36331,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36327,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "4492:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36483,
                  "src": "4484:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36326,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4484:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36330,
                  "mutability": "mutable",
                  "name": "_dispute",
                  "nameLocation": "4527:8:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36483,
                  "src": "4504:31:41",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                    "typeString": "struct IOracle.Dispute"
                  },
                  "typeName": {
                    "id": 36329,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36328,
                      "name": "IOracle.Dispute",
                      "nameLocations": [
                        "4504:7:41",
                        "4512:7:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2045,
                      "src": "4504:15:41"
                    },
                    "referencedDeclaration": 2045,
                    "src": "4504:15:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_storage_ptr",
                      "typeString": "struct IOracle.Dispute"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4483:53:41"
            },
            "returnParameters": {
              "id": 36334,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4557:0:41"
            },
            "scope": 36898,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36539,
            "nodeType": "FunctionDefinition",
            "src": "6544:548:41",
            "nodes": [],
            "body": {
              "id": 36538,
              "nodeType": "Block",
              "src": "6599:493:41",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    36490,
                    36493
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36490,
                      "mutability": "mutable",
                      "name": "_requestId",
                      "nameLocation": "6614:10:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36538,
                      "src": "6606:18:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 36489,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "6606:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 36493,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "6651:7:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36538,
                      "src": "6626:32:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 36492,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36491,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "6626:17:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42905,
                          "src": "6626:17:41"
                        },
                        "referencedDeclaration": 42905,
                        "src": "6626:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                          "typeString": "struct IBondEscalationModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36498,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36495,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36486,
                        "src": "6676:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "hexValue": "74727565",
                        "id": 36496,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6688:4:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 36494,
                      "name": "_pledgeChecks",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36860,
                      "src": "6662:13:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bool_$returns$_t_bytes32_$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                        "typeString": "function (bytes32,bool) view returns (bytes32,struct IBondEscalationModule.RequestParameters memory)"
                      }
                    },
                    "id": 36497,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6662:31:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bytes32_$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                      "typeString": "tuple(bytes32,struct IBondEscalationModule.RequestParameters memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6605:88:41"
                },
                {
                  "expression": {
                    "id": 36504,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "baseExpression": {
                          "id": 36499,
                          "name": "_escalations",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36036,
                          "src": "6700:12:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                            "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation storage ref)"
                          }
                        },
                        "id": 36501,
                        "indexExpression": {
                          "id": 36500,
                          "name": "_requestId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36490,
                          "src": "6713:10:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6700:24:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage",
                          "typeString": "struct IBondEscalationModule.BondEscalation storage ref"
                        }
                      },
                      "id": 36502,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "6725:25:41",
                      "memberName": "amountOfPledgesForDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42912,
                      "src": "6700:50:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "hexValue": "31",
                      "id": 36503,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6754:1:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "6700:55:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 36505,
                  "nodeType": "ExpressionStatement",
                  "src": "6700:55:41"
                },
                {
                  "expression": {
                    "id": 36513,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "baseExpression": {
                          "id": 36506,
                          "name": "pledgesForDispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36023,
                          "src": "6761:17:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                            "typeString": "mapping(bytes32 => mapping(address => uint256))"
                          }
                        },
                        "id": 36510,
                        "indexExpression": {
                          "id": 36507,
                          "name": "_requestId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36490,
                          "src": "6779:10:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6761:29:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 36511,
                      "indexExpression": {
                        "expression": {
                          "id": 36508,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "6791:3:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 36509,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6795:6:41",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "6791:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "6761:41:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "hexValue": "31",
                      "id": 36512,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6806:1:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "6761:46:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 36514,
                  "nodeType": "ExpressionStatement",
                  "src": "6761:46:41"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 36520,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "6866:3:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 36521,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6870:6:41",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "6866:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 36522,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36490,
                        "src": "6896:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 36523,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36486,
                        "src": "6926:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36524,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36493,
                          "src": "6952:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36525,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6960:9:41",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42894,
                        "src": "6952:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "expression": {
                          "id": 36526,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36493,
                          "src": "6986:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36527,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6994:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "6986:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 36515,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36493,
                          "src": "6813:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36518,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6821:19:41",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42891,
                        "src": "6813:27:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                          "typeString": "contract IBondEscalationAccounting"
                        }
                      },
                      "id": 36519,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6841:6:41",
                      "memberName": "pledge",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42743,
                      "src": "6813:34:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,bytes32,contract IERC20,uint256) external"
                      }
                    },
                    "id": 36528,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "6856:8:41",
                      "6884:10:41",
                      "6914:10:41",
                      "6944:6:41",
                      "6977:7:41"
                    ],
                    "names": [
                      "_pledger",
                      "_requestId",
                      "_disputeId",
                      "_token",
                      "_amount"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "6813:196:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36529,
                  "nodeType": "ExpressionStatement",
                  "src": "6813:196:41"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 36531,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36486,
                        "src": "7046:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36532,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "7058:3:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 36533,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7062:6:41",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "7058:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 36534,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36493,
                          "src": "7070:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36535,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7078:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "7070:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 36530,
                      "name": "PledgedInFavorOfDisputer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 42824,
                      "src": "7021:24:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,uint256)"
                      }
                    },
                    "id": 36536,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7021:66:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36537,
                  "nodeType": "EmitStatement",
                  "src": "7016:71:41"
                }
              ]
            },
            "baseFunctions": [
              42991
            ],
            "documentation": {
              "id": 36484,
              "nodeType": "StructuredDocumentation",
              "src": "6504:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "49646830",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pledgeForDispute",
            "nameLocation": "6553:16:41",
            "parameters": {
              "id": 36487,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36486,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "6578:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36539,
                  "src": "6570:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36485,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6570:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6569:20:41"
            },
            "returnParameters": {
              "id": 36488,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6599:0:41"
            },
            "scope": 36898,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36595,
            "nodeType": "FunctionDefinition",
            "src": "7136:561:41",
            "nodes": [],
            "body": {
              "id": 36594,
              "nodeType": "Block",
              "src": "7195:502:41",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    36546,
                    36549
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36546,
                      "mutability": "mutable",
                      "name": "_requestId",
                      "nameLocation": "7210:10:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36594,
                      "src": "7202:18:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 36545,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "7202:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 36549,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "7247:7:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36594,
                      "src": "7222:32:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 36548,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36547,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "7222:17:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42905,
                          "src": "7222:17:41"
                        },
                        "referencedDeclaration": 42905,
                        "src": "7222:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                          "typeString": "struct IBondEscalationModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36554,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36551,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36542,
                        "src": "7272:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "hexValue": "66616c7365",
                        "id": 36552,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7284:5:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 36550,
                      "name": "_pledgeChecks",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36860,
                      "src": "7258:13:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bool_$returns$_t_bytes32_$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                        "typeString": "function (bytes32,bool) view returns (bytes32,struct IBondEscalationModule.RequestParameters memory)"
                      }
                    },
                    "id": 36553,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7258:32:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bytes32_$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                      "typeString": "tuple(bytes32,struct IBondEscalationModule.RequestParameters memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7201:89:41"
                },
                {
                  "expression": {
                    "id": 36560,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "baseExpression": {
                          "id": 36555,
                          "name": "_escalations",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36036,
                          "src": "7297:12:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                            "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation storage ref)"
                          }
                        },
                        "id": 36557,
                        "indexExpression": {
                          "id": 36556,
                          "name": "_requestId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36546,
                          "src": "7310:10:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7297:24:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage",
                          "typeString": "struct IBondEscalationModule.BondEscalation storage ref"
                        }
                      },
                      "id": 36558,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "7322:29:41",
                      "memberName": "amountOfPledgesAgainstDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42914,
                      "src": "7297:54:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "hexValue": "31",
                      "id": 36559,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7355:1:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "7297:59:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 36561,
                  "nodeType": "ExpressionStatement",
                  "src": "7297:59:41"
                },
                {
                  "expression": {
                    "id": 36569,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "baseExpression": {
                          "id": 36562,
                          "name": "pledgesAgainstDispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36030,
                          "src": "7362:21:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                            "typeString": "mapping(bytes32 => mapping(address => uint256))"
                          }
                        },
                        "id": 36566,
                        "indexExpression": {
                          "id": 36563,
                          "name": "_requestId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36546,
                          "src": "7384:10:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7362:33:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 36567,
                      "indexExpression": {
                        "expression": {
                          "id": 36564,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "7396:3:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 36565,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7400:6:41",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "7396:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "7362:45:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "hexValue": "31",
                      "id": 36568,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7411:1:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "7362:50:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 36570,
                  "nodeType": "ExpressionStatement",
                  "src": "7362:50:41"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 36576,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "7471:3:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 36577,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7475:6:41",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "7471:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 36578,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36546,
                        "src": "7501:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 36579,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36542,
                        "src": "7531:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36580,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36549,
                          "src": "7557:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36581,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7565:9:41",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42894,
                        "src": "7557:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "expression": {
                          "id": 36582,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36549,
                          "src": "7591:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36583,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7599:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "7591:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 36571,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36549,
                          "src": "7418:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36574,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7426:19:41",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42891,
                        "src": "7418:27:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                          "typeString": "contract IBondEscalationAccounting"
                        }
                      },
                      "id": 36575,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7446:6:41",
                      "memberName": "pledge",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42743,
                      "src": "7418:34:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,bytes32,contract IERC20,uint256) external"
                      }
                    },
                    "id": 36584,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "7461:8:41",
                      "7489:10:41",
                      "7519:10:41",
                      "7549:6:41",
                      "7582:7:41"
                    ],
                    "names": [
                      "_pledger",
                      "_requestId",
                      "_disputeId",
                      "_token",
                      "_amount"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "7418:196:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36585,
                  "nodeType": "ExpressionStatement",
                  "src": "7418:196:41"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 36587,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36542,
                        "src": "7651:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36588,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "7663:3:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 36589,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7667:6:41",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "7663:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 36590,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36549,
                          "src": "7675:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36591,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7683:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "7675:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 36586,
                      "name": "PledgedInFavorOfProposer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 42833,
                      "src": "7626:24:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,uint256)"
                      }
                    },
                    "id": 36592,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7626:66:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36593,
                  "nodeType": "EmitStatement",
                  "src": "7621:71:41"
                }
              ]
            },
            "baseFunctions": [
              42997
            ],
            "documentation": {
              "id": 36540,
              "nodeType": "StructuredDocumentation",
              "src": "7096:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "9debee30",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pledgeAgainstDispute",
            "nameLocation": "7145:20:41",
            "parameters": {
              "id": 36543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36542,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "7174:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36595,
                  "src": "7166:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36541,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7166:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7165:20:41"
            },
            "returnParameters": {
              "id": 36544,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7195:0:41"
            },
            "scope": 36898,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36729,
            "nodeType": "FunctionDefinition",
            "src": "7741:1693:41",
            "nodes": [],
            "body": {
              "id": 36728,
              "nodeType": "Block",
              "src": "7800:1634:41",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    36603
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36603,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "7831:7:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36728,
                      "src": "7806:32:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 36602,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36601,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "7806:17:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42905,
                          "src": "7806:17:41"
                        },
                        "referencedDeclaration": 42905,
                        "src": "7806:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                          "typeString": "struct IBondEscalationModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36607,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36605,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36598,
                        "src": "7859:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 36604,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36881,
                      "src": "7841:17:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondEscalationModule.RequestParameters memory)"
                      }
                    },
                    "id": 36606,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7841:29:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                      "typeString": "struct IBondEscalationModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7806:64:41"
                },
                {
                  "assignments": [
                    36610
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36610,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "7899:11:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36728,
                      "src": "7876:34:41",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation"
                      },
                      "typeName": {
                        "id": 36609,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36608,
                          "name": "BondEscalation",
                          "nameLocations": [
                            "7876:14:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42915,
                          "src": "7876:14:41"
                        },
                        "referencedDeclaration": 42915,
                        "src": "7876:14:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36614,
                  "initialValue": {
                    "baseExpression": {
                      "id": 36611,
                      "name": "_escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36036,
                      "src": "7913:12:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation storage ref)"
                      }
                    },
                    "id": 36613,
                    "indexExpression": {
                      "id": 36612,
                      "name": "_requestId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36598,
                      "src": "7926:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7913:24:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_BondEscalation_$42915_storage",
                      "typeString": "struct IBondEscalationModule.BondEscalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7876:61:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 36622,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 36615,
                        "name": "block",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -4,
                        "src": "7948:5:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_block",
                          "typeString": "block"
                        }
                      },
                      "id": 36616,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7954:9:41",
                      "memberName": "timestamp",
                      "nodeType": "MemberAccess",
                      "src": "7948:15:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36621,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36617,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36603,
                          "src": "7967:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36618,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7975:22:41",
                        "memberName": "bondEscalationDeadline",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42900,
                        "src": "7967:30:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "expression": {
                          "id": 36619,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36603,
                          "src": "8000:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36620,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8008:11:41",
                        "memberName": "tyingBuffer",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42902,
                        "src": "8000:19:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "7967:52:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7948:71:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36627,
                  "nodeType": "IfStatement",
                  "src": "7944:143:41",
                  "trueBody": {
                    "id": 36626,
                    "nodeType": "Block",
                    "src": "8021:66:41",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 36623,
                            "name": "BondEscalationModule_BondEscalationNotOver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42846,
                            "src": "8036:42:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 36624,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8036:44:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36625,
                        "nodeType": "RevertStatement",
                        "src": "8029:51:41"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                      "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                    },
                    "id": 36632,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 36628,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36610,
                        "src": "8097:11:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                        }
                      },
                      "id": 36629,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8109:6:41",
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42910,
                      "src": "8097:18:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "expression": {
                        "id": 36630,
                        "name": "BondEscalationStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42888,
                        "src": "8119:20:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                          "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                        }
                      },
                      "id": 36631,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "8140:6:41",
                      "memberName": "Active",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42884,
                      "src": "8119:27:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      }
                    },
                    "src": "8097:49:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36637,
                  "nodeType": "IfStatement",
                  "src": "8093:127:41",
                  "trueBody": {
                    "id": 36636,
                    "nodeType": "Block",
                    "src": "8148:72:41",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 36633,
                            "name": "BondEscalationModule_BondEscalationCantBeSettled",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42855,
                            "src": "8163:48:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 36634,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8163:50:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36635,
                        "nodeType": "RevertStatement",
                        "src": "8156:57:41"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    36639
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36639,
                      "mutability": "mutable",
                      "name": "_pledgesForDispute",
                      "nameLocation": "8234:18:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36728,
                      "src": "8226:26:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 36638,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8226:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36642,
                  "initialValue": {
                    "expression": {
                      "id": 36640,
                      "name": "_escalation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36610,
                      "src": "8255:11:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                      }
                    },
                    "id": 36641,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "8267:25:41",
                    "memberName": "amountOfPledgesForDispute",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 42912,
                    "src": "8255:37:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8226:66:41"
                },
                {
                  "assignments": [
                    36644
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36644,
                      "mutability": "mutable",
                      "name": "_pledgesAgainstDispute",
                      "nameLocation": "8306:22:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36728,
                      "src": "8298:30:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 36643,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8298:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36647,
                  "initialValue": {
                    "expression": {
                      "id": 36645,
                      "name": "_escalation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36610,
                      "src": "8331:11:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                      }
                    },
                    "id": 36646,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "8343:29:41",
                    "memberName": "amountOfPledgesAgainstDispute",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 42914,
                    "src": "8331:41:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8298:74:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 36650,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 36648,
                      "name": "_pledgesForDispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36639,
                      "src": "8383:18:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "id": 36649,
                      "name": "_pledgesAgainstDispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36644,
                      "src": "8405:22:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8383:44:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36655,
                  "nodeType": "IfStatement",
                  "src": "8379:112:41",
                  "trueBody": {
                    "id": 36654,
                    "nodeType": "Block",
                    "src": "8429:62:41",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 36651,
                            "name": "BondEscalationModule_ShouldBeEscalated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42858,
                            "src": "8444:38:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 36652,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8444:40:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36653,
                        "nodeType": "RevertStatement",
                        "src": "8437:47:41"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    36657
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36657,
                      "mutability": "mutable",
                      "name": "_disputersWon",
                      "nameLocation": "8502:13:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36728,
                      "src": "8497:18:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 36656,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "8497:4:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36661,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 36660,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 36658,
                      "name": "_pledgesForDispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36639,
                      "src": "8518:18:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "id": 36659,
                      "name": "_pledgesAgainstDispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36644,
                      "src": "8539:22:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8518:43:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8497:64:41"
                },
                {
                  "assignments": [
                    36663
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36663,
                      "mutability": "mutable",
                      "name": "_amountToPay",
                      "nameLocation": "8576:12:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36728,
                      "src": "8568:20:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 36662,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8568:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36686,
                  "initialValue": {
                    "condition": {
                      "id": 36664,
                      "name": "_disputersWon",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36657,
                      "src": "8591:13:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36684,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36675,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36603,
                          "src": "8731:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36676,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8739:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "8731:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "arguments": [
                          {
                            "id": 36679,
                            "name": "_pledgesForDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36639,
                            "src": "8779:18:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "expression": {
                              "id": 36680,
                              "name": "_params",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36603,
                              "src": "8799:7:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                                "typeString": "struct IBondEscalationModule.RequestParameters memory"
                              }
                            },
                            "id": 36681,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8807:8:41",
                            "memberName": "bondSize",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42896,
                            "src": "8799:16:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "id": 36682,
                            "name": "_pledgesAgainstDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36644,
                            "src": "8817:22:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 36677,
                            "name": "FixedPointMathLib",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 34903,
                            "src": "8750:17:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                              "typeString": "type(library FixedPointMathLib)"
                            }
                          },
                          "id": 36678,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "8768:10:41",
                          "memberName": "mulDivDown",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 34834,
                          "src": "8750:28:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                            "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 36683,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8750:90:41",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "8731:109:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 36685,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "8591:249:41",
                    "trueExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36674,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36665,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36603,
                          "src": "8613:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36666,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8621:8:41",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42896,
                        "src": "8613:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "arguments": [
                          {
                            "id": 36669,
                            "name": "_pledgesAgainstDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36644,
                            "src": "8661:22:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "expression": {
                              "id": 36670,
                              "name": "_params",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36603,
                              "src": "8685:7:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                                "typeString": "struct IBondEscalationModule.RequestParameters memory"
                              }
                            },
                            "id": 36671,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8693:8:41",
                            "memberName": "bondSize",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42896,
                            "src": "8685:16:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "id": 36672,
                            "name": "_pledgesForDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36639,
                            "src": "8703:18:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 36667,
                            "name": "FixedPointMathLib",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 34903,
                            "src": "8632:17:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                              "typeString": "type(library FixedPointMathLib)"
                            }
                          },
                          "id": 36668,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "8650:10:41",
                          "memberName": "mulDivDown",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 34834,
                          "src": "8632:28:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                            "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 36673,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8632:90:41",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "8613:109:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8568:272:41"
                },
                {
                  "assignments": [
                    36689
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36689,
                      "mutability": "mutable",
                      "name": "_newStatus",
                      "nameLocation": "8868:10:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36728,
                      "src": "8847:31:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      },
                      "typeName": {
                        "id": 36688,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36687,
                          "name": "BondEscalationStatus",
                          "nameLocations": [
                            "8847:20:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42888,
                          "src": "8847:20:41"
                        },
                        "referencedDeclaration": 42888,
                        "src": "8847:20:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                          "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36696,
                  "initialValue": {
                    "condition": {
                      "id": 36690,
                      "name": "_disputersWon",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36657,
                      "src": "8887:13:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "expression": {
                        "id": 36693,
                        "name": "BondEscalationStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42888,
                        "src": "8938:20:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                          "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                        }
                      },
                      "id": 36694,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "8959:12:41",
                      "memberName": "DisputerLost",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42886,
                      "src": "8938:33:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      }
                    },
                    "id": 36695,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "8887:84:41",
                    "trueExpression": {
                      "expression": {
                        "id": 36691,
                        "name": "BondEscalationStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42888,
                        "src": "8903:20:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_BondEscalationStatus_$42888_$",
                          "typeString": "type(enum IBondEscalationModule.BondEscalationStatus)"
                        }
                      },
                      "id": 36692,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "8924:11:41",
                      "memberName": "DisputerWon",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42887,
                      "src": "8903:32:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                      "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8847:124:41"
                },
                {
                  "expression": {
                    "id": 36701,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 36697,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36610,
                        "src": "8978:11:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                        }
                      },
                      "id": 36699,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "8990:6:41",
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42910,
                      "src": "8978:18:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 36700,
                      "name": "_newStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36689,
                      "src": "8999:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                        "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                      }
                    },
                    "src": "8978:31:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                      "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                    }
                  },
                  "id": 36702,
                  "nodeType": "ExpressionStatement",
                  "src": "8978:31:41"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 36704,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36598,
                        "src": "9049:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36705,
                          "name": "_escalation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36610,
                          "src": "9061:11:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                            "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                          }
                        },
                        "id": 36706,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9073:9:41",
                        "memberName": "disputeId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42907,
                        "src": "9061:21:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 36707,
                        "name": "_newStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36689,
                        "src": "9084:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                          "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_enum$_BondEscalationStatus_$42888",
                          "typeString": "enum IBondEscalationModule.BondEscalationStatus"
                        }
                      ],
                      "id": 36703,
                      "name": "BondEscalationStatusUpdated",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 42843,
                      "src": "9021:27:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_BondEscalationStatus_$42888_$returns$__$",
                        "typeString": "function (bytes32,bytes32,enum IBondEscalationModule.BondEscalationStatus)"
                      }
                    },
                    "id": 36708,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9021:74:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36709,
                  "nodeType": "EmitStatement",
                  "src": "9016:79:41"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 36715,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36598,
                        "src": "9173:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 36716,
                          "name": "_escalation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36610,
                          "src": "9203:11:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                            "typeString": "struct IBondEscalationModule.BondEscalation storage pointer"
                          }
                        },
                        "id": 36717,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9215:9:41",
                        "memberName": "disputeId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42907,
                        "src": "9203:21:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 36718,
                        "name": "_disputersWon",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36657,
                        "src": "9246:13:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "expression": {
                          "id": 36719,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36603,
                          "src": "9275:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36720,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9283:9:41",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42894,
                        "src": "9275:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "id": 36721,
                        "name": "_amountToPay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36663,
                        "src": "9319:12:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "condition": {
                          "id": 36722,
                          "name": "_disputersWon",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36657,
                          "src": "9363:13:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "id": 36724,
                          "name": "_pledgesAgainstDispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36644,
                          "src": "9400:22:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 36725,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "9363:59:41",
                        "trueExpression": {
                          "id": 36723,
                          "name": "_pledgesForDispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36639,
                          "src": "9379:18:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 36710,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36603,
                          "src": "9102:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36713,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9110:19:41",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42891,
                        "src": "9102:27:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                          "typeString": "contract IBondEscalationAccounting"
                        }
                      },
                      "id": 36714,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9130:22:41",
                      "memberName": "onSettleBondEscalation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42760,
                      "src": "9102:50:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bool_$_t_contract$_IERC20_$2822_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,bytes32,bool,contract IERC20,uint256,uint256) external"
                      }
                    },
                    "id": 36726,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "9161:10:41",
                      "9191:10:41",
                      "9232:12:41",
                      "9267:6:41",
                      "9300:17:41",
                      "9339:22:41"
                    ],
                    "names": [
                      "_requestId",
                      "_disputeId",
                      "_forVotesWon",
                      "_token",
                      "_amountPerPledger",
                      "_winningPledgersLength"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "9102:327:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 36727,
                  "nodeType": "ExpressionStatement",
                  "src": "9102:327:41"
                }
              ]
            },
            "baseFunctions": [
              43003
            ],
            "documentation": {
              "id": 36596,
              "nodeType": "StructuredDocumentation",
              "src": "7701:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "9afaec50",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleBondEscalation",
            "nameLocation": "7750:20:41",
            "parameters": {
              "id": 36599,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36598,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "7779:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36729,
                  "src": "7771:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36597,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7771:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7770:20:41"
            },
            "returnParameters": {
              "id": 36600,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7800:0:41"
            },
            "scope": 36898,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36860,
            "nodeType": "FunctionDefinition",
            "src": "9688:1636:41",
            "nodes": [],
            "body": {
              "id": 36859,
              "nodeType": "Block",
              "src": "9838:1486:41",
              "nodes": [],
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 36744,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 36742,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36732,
                      "src": "9848:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 36743,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "9862:1:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "9848:15:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36748,
                  "nodeType": "IfStatement",
                  "src": "9844:70:41",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 36745,
                        "name": "BondEscalationModule_DisputeDoesNotExist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42873,
                        "src": "9872:40:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 36746,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "9872:42:41",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 36747,
                    "nodeType": "RevertStatement",
                    "src": "9865:49:41"
                  }
                },
                {
                  "assignments": [
                    36753
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36753,
                      "mutability": "mutable",
                      "name": "_dispute",
                      "nameLocation": "9944:8:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36859,
                      "src": "9921:31:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute"
                      },
                      "typeName": {
                        "id": 36752,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36751,
                          "name": "IOracle.Dispute",
                          "nameLocations": [
                            "9921:7:41",
                            "9929:7:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2045,
                          "src": "9921:15:41"
                        },
                        "referencedDeclaration": 2045,
                        "src": "9921:15:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Dispute_$2045_storage_ptr",
                          "typeString": "struct IOracle.Dispute"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36758,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36756,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36732,
                        "src": "9973:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 36754,
                        "name": "ORACLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10,
                        "src": "9955:6:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IOracle_$2282",
                          "typeString": "contract IOracle"
                        }
                      },
                      "id": 36755,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9962:10:41",
                      "memberName": "getDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2162,
                      "src": "9955:17:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Dispute_$2045_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (struct IOracle.Dispute memory)"
                      }
                    },
                    "id": 36757,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9955:29:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                      "typeString": "struct IOracle.Dispute memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9921:63:41"
                },
                {
                  "expression": {
                    "id": 36762,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 36759,
                      "name": "_requestId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36737,
                      "src": "9990:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 36760,
                        "name": "_dispute",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36753,
                        "src": "10003:8:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                          "typeString": "struct IOracle.Dispute memory"
                        }
                      },
                      "id": 36761,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10012:9:41",
                      "memberName": "requestId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2041,
                      "src": "10003:18:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "9990:31:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 36763,
                  "nodeType": "ExpressionStatement",
                  "src": "9990:31:41"
                },
                {
                  "assignments": [
                    36766
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36766,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "10049:11:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36859,
                      "src": "10027:33:41",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_memory_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation"
                      },
                      "typeName": {
                        "id": 36765,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36764,
                          "name": "BondEscalation",
                          "nameLocations": [
                            "10027:14:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 42915,
                          "src": "10027:14:41"
                        },
                        "referencedDeclaration": 42915,
                        "src": "10027:14:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36770,
                  "initialValue": {
                    "baseExpression": {
                      "id": 36767,
                      "name": "_escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36036,
                      "src": "10063:12:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation storage ref)"
                      }
                    },
                    "id": 36769,
                    "indexExpression": {
                      "id": 36768,
                      "name": "_requestId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36737,
                      "src": "10076:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "10063:24:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_BondEscalation_$42915_storage",
                      "typeString": "struct IBondEscalationModule.BondEscalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10027:60:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 36774,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 36771,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36732,
                      "src": "10098:10:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "expression": {
                        "id": 36772,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36766,
                        "src": "10112:11:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_BondEscalation_$42915_memory_ptr",
                          "typeString": "struct IBondEscalationModule.BondEscalation memory"
                        }
                      },
                      "id": 36773,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10124:9:41",
                      "memberName": "disputeId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42907,
                      "src": "10112:21:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "10098:35:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36779,
                  "nodeType": "IfStatement",
                  "src": "10094:105:41",
                  "trueBody": {
                    "id": 36778,
                    "nodeType": "Block",
                    "src": "10135:64:41",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 36775,
                            "name": "BondEscalationModule_DisputeNotEscalated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42849,
                            "src": "10150:40:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 36776,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10150:42:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36777,
                        "nodeType": "RevertStatement",
                        "src": "10143:49:41"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "id": 36784,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 36780,
                      "name": "_params",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36740,
                      "src": "10205:7:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 36782,
                          "name": "_requestId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36737,
                          "src": "10233:10:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "id": 36781,
                        "name": "decodeRequestData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36881,
                        "src": "10215:17:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$42905_memory_ptr_$",
                          "typeString": "function (bytes32) view returns (struct IBondEscalationModule.RequestParameters memory)"
                        }
                      },
                      "id": 36783,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10215:29:41",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters memory"
                      }
                    },
                    "src": "10205:39:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                      "typeString": "struct IBondEscalationModule.RequestParameters memory"
                    }
                  },
                  "id": 36785,
                  "nodeType": "ExpressionStatement",
                  "src": "10205:39:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 36793,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 36786,
                        "name": "block",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -4,
                        "src": "10255:5:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_block",
                          "typeString": "block"
                        }
                      },
                      "id": 36787,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10261:9:41",
                      "memberName": "timestamp",
                      "nodeType": "MemberAccess",
                      "src": "10255:15:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36792,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36788,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36740,
                          "src": "10273:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36789,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "10281:22:41",
                        "memberName": "bondEscalationDeadline",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42900,
                        "src": "10273:30:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "expression": {
                          "id": 36790,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36740,
                          "src": "10306:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36791,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "10314:11:41",
                        "memberName": "tyingBuffer",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42902,
                        "src": "10306:19:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "10273:52:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10255:70:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36798,
                  "nodeType": "IfStatement",
                  "src": "10251:139:41",
                  "trueBody": {
                    "id": 36797,
                    "nodeType": "Block",
                    "src": "10327:63:41",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 36794,
                            "name": "BondEscalationModule_BondEscalationOver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42867,
                            "src": "10342:39:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 36795,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10342:41:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36796,
                        "nodeType": "RevertStatement",
                        "src": "10335:48:41"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    36800
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36800,
                      "mutability": "mutable",
                      "name": "_numPledgersForDispute",
                      "nameLocation": "10404:22:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36859,
                      "src": "10396:30:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 36799,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10396:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36803,
                  "initialValue": {
                    "expression": {
                      "id": 36801,
                      "name": "_escalation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36766,
                      "src": "10429:11:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_memory_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation memory"
                      }
                    },
                    "id": 36802,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "10441:25:41",
                    "memberName": "amountOfPledgesForDispute",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 42912,
                    "src": "10429:37:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10396:70:41"
                },
                {
                  "assignments": [
                    36805
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36805,
                      "mutability": "mutable",
                      "name": "_numPledgersAgainstDispute",
                      "nameLocation": "10480:26:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 36859,
                      "src": "10472:34:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 36804,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10472:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36808,
                  "initialValue": {
                    "expression": {
                      "id": 36806,
                      "name": "_escalation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36766,
                      "src": "10509:11:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_memory_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation memory"
                      }
                    },
                    "id": 36807,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "10521:29:41",
                    "memberName": "amountOfPledgesAgainstDispute",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 42914,
                    "src": "10509:41:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10472:78:41"
                },
                {
                  "condition": {
                    "id": 36809,
                    "name": "_forDispute",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 36734,
                    "src": "10561:11:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 36843,
                    "nodeType": "Block",
                    "src": "10854:278:41",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 36830,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 36827,
                            "name": "_numPledgersAgainstDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36805,
                            "src": "10866:26:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "id": 36828,
                              "name": "_params",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36740,
                              "src": "10896:7:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                                "typeString": "struct IBondEscalationModule.RequestParameters memory"
                              }
                            },
                            "id": 36829,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "10904:22:41",
                            "memberName": "maxNumberOfEscalations",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42898,
                            "src": "10896:30:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10866:60:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 36835,
                        "nodeType": "IfStatement",
                        "src": "10862:144:41",
                        "trueBody": {
                          "id": 36834,
                          "nodeType": "Block",
                          "src": "10928:78:41",
                          "statements": [
                            {
                              "errorCall": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 36831,
                                  "name": "BondEscalationModule_MaxNumberOfEscalationsReached",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 42852,
                                  "src": "10945:50:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                    "typeString": "function () pure"
                                  }
                                },
                                "id": 36832,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10945:52:41",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 36833,
                              "nodeType": "RevertStatement",
                              "src": "10938:59:41"
                            }
                          ]
                        }
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 36838,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 36836,
                            "name": "_numPledgersAgainstDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36805,
                            "src": "11017:26:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "id": 36837,
                            "name": "_numPledgersForDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36800,
                            "src": "11046:22:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "11017:51:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 36842,
                        "nodeType": "IfStatement",
                        "src": "11013:112:41",
                        "trueBody": {
                          "errorCall": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 36839,
                              "name": "BondEscalationModule_CanOnlySurpassByOnePledge",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42876,
                              "src": "11077:46:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 36840,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11077:48:41",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 36841,
                          "nodeType": "RevertStatement",
                          "src": "11070:55:41"
                        }
                      }
                    ]
                  },
                  "id": 36844,
                  "nodeType": "IfStatement",
                  "src": "10557:575:41",
                  "trueBody": {
                    "id": 36826,
                    "nodeType": "Block",
                    "src": "10574:274:41",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 36813,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 36810,
                            "name": "_numPledgersForDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36800,
                            "src": "10586:22:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "id": 36811,
                              "name": "_params",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 36740,
                              "src": "10612:7:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                                "typeString": "struct IBondEscalationModule.RequestParameters memory"
                              }
                            },
                            "id": 36812,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "10620:22:41",
                            "memberName": "maxNumberOfEscalations",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42898,
                            "src": "10612:30:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10586:56:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 36818,
                        "nodeType": "IfStatement",
                        "src": "10582:140:41",
                        "trueBody": {
                          "id": 36817,
                          "nodeType": "Block",
                          "src": "10644:78:41",
                          "statements": [
                            {
                              "errorCall": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 36814,
                                  "name": "BondEscalationModule_MaxNumberOfEscalationsReached",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 42852,
                                  "src": "10661:50:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                    "typeString": "function () pure"
                                  }
                                },
                                "id": 36815,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10661:52:41",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 36816,
                              "nodeType": "RevertStatement",
                              "src": "10654:59:41"
                            }
                          ]
                        }
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 36821,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 36819,
                            "name": "_numPledgersForDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36800,
                            "src": "10733:22:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "id": 36820,
                            "name": "_numPledgersAgainstDispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36805,
                            "src": "10758:26:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10733:51:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 36825,
                        "nodeType": "IfStatement",
                        "src": "10729:112:41",
                        "trueBody": {
                          "errorCall": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 36822,
                              "name": "BondEscalationModule_CanOnlySurpassByOnePledge",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42876,
                              "src": "10793:46:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 36823,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10793:48:41",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 36824,
                          "nodeType": "RevertStatement",
                          "src": "10786:55:41"
                        }
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 36853,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36849,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 36845,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -4,
                          "src": "11142:5:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 36846,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11148:9:41",
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "src": "11142:15:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "expression": {
                          "id": 36847,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36740,
                          "src": "11160:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                            "typeString": "struct IBondEscalationModule.RequestParameters memory"
                          }
                        },
                        "id": 36848,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11168:22:41",
                        "memberName": "bondEscalationDeadline",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 42900,
                        "src": "11160:30:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "11142:48:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 36852,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 36850,
                        "name": "_numPledgersForDispute",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36800,
                        "src": "11194:22:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "id": 36851,
                        "name": "_numPledgersAgainstDispute",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36805,
                        "src": "11220:26:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "11194:52:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "11142:104:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 36858,
                  "nodeType": "IfStatement",
                  "src": "11138:182:41",
                  "trueBody": {
                    "id": 36857,
                    "nodeType": "Block",
                    "src": "11248:72:41",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 36854,
                            "name": "BondEscalationModule_CanOnlyTieDuringTyingBuffer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42861,
                            "src": "11263:48:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 36855,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11263:50:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 36856,
                        "nodeType": "RevertStatement",
                        "src": "11256:57:41"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 36730,
              "nodeType": "StructuredDocumentation",
              "src": "9438:247:41",
              "text": " @notice Checks the necessary conditions for pledging\n @param _disputeId The encoded data for the request\n @return _requestId The ID of the request being disputed on\n @return _params The decoded parameters for the request"
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_pledgeChecks",
            "nameLocation": "9697:13:41",
            "parameters": {
              "id": 36735,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36732,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "9724:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36860,
                  "src": "9716:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36731,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9716:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36734,
                  "mutability": "mutable",
                  "name": "_forDispute",
                  "nameLocation": "9745:11:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36860,
                  "src": "9740:16:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 36733,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "9740:4:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9710:50:41"
            },
            "returnParameters": {
              "id": 36741,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36737,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "9792:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36860,
                  "src": "9784:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36736,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9784:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36740,
                  "mutability": "mutable",
                  "name": "_params",
                  "nameLocation": "9829:7:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36860,
                  "src": "9804:32:41",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                    "typeString": "struct IBondEscalationModule.RequestParameters"
                  },
                  "typeName": {
                    "id": 36739,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36738,
                      "name": "RequestParameters",
                      "nameLocations": [
                        "9804:17:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 42905,
                      "src": "9804:17:41"
                    },
                    "referencedDeclaration": 42905,
                    "src": "9804:17:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                      "typeString": "struct IBondEscalationModule.RequestParameters"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9783:54:41"
            },
            "scope": 36898,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "id": 36881,
            "nodeType": "FunctionDefinition",
            "src": "11554:179:41",
            "nodes": [],
            "body": {
              "id": 36880,
              "nodeType": "Block",
              "src": "11656:77:41",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 36878,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 36869,
                      "name": "_params",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36867,
                      "src": "11662:7:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "baseExpression": {
                            "id": 36872,
                            "name": "requestData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14,
                            "src": "11683:11:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
                              "typeString": "mapping(bytes32 => bytes storage ref)"
                            }
                          },
                          "id": 36874,
                          "indexExpression": {
                            "id": 36873,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36863,
                            "src": "11695:10:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "11683:23:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        },
                        {
                          "components": [
                            {
                              "id": 36875,
                              "name": "RequestParameters",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42905,
                              "src": "11709:17:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_RequestParameters_$42905_storage_ptr_$",
                                "typeString": "type(struct IBondEscalationModule.RequestParameters storage pointer)"
                              }
                            }
                          ],
                          "id": 36876,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "11708:19:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_RequestParameters_$42905_storage_ptr_$",
                            "typeString": "type(struct IBondEscalationModule.RequestParameters storage pointer)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          },
                          {
                            "typeIdentifier": "t_type$_t_struct$_RequestParameters_$42905_storage_ptr_$",
                            "typeString": "type(struct IBondEscalationModule.RequestParameters storage pointer)"
                          }
                        ],
                        "expression": {
                          "id": 36870,
                          "name": "abi",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -1,
                          "src": "11672:3:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_abi",
                            "typeString": "abi"
                          }
                        },
                        "id": 36871,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "11676:6:41",
                        "memberName": "decode",
                        "nodeType": "MemberAccess",
                        "src": "11672:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 36877,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11672:56:41",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                        "typeString": "struct IBondEscalationModule.RequestParameters memory"
                      }
                    },
                    "src": "11662:66:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                      "typeString": "struct IBondEscalationModule.RequestParameters memory"
                    }
                  },
                  "id": 36879,
                  "nodeType": "ExpressionStatement",
                  "src": "11662:66:41"
                }
              ]
            },
            "baseFunctions": [
              42933
            ],
            "documentation": {
              "id": 36861,
              "nodeType": "StructuredDocumentation",
              "src": "11514:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "4d610a46",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decodeRequestData",
            "nameLocation": "11563:17:41",
            "parameters": {
              "id": 36864,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36863,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "11589:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36881,
                  "src": "11581:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36862,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11581:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11580:20:41"
            },
            "returnParameters": {
              "id": 36868,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36867,
                  "mutability": "mutable",
                  "name": "_params",
                  "nameLocation": "11647:7:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36881,
                  "src": "11622:32:41",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestParameters_$42905_memory_ptr",
                    "typeString": "struct IBondEscalationModule.RequestParameters"
                  },
                  "typeName": {
                    "id": 36866,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36865,
                      "name": "RequestParameters",
                      "nameLocations": [
                        "11622:17:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 42905,
                      "src": "11622:17:41"
                    },
                    "referencedDeclaration": 42905,
                    "src": "11622:17:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$42905_storage_ptr",
                      "typeString": "struct IBondEscalationModule.RequestParameters"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11621:34:41"
            },
            "scope": 36898,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 36897,
            "nodeType": "FunctionDefinition",
            "src": "11777:148:41",
            "nodes": [],
            "body": {
              "id": 36896,
              "nodeType": "Block",
              "src": "11876:49:41",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 36894,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 36890,
                      "name": "_escalation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36888,
                      "src": "11882:11:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_memory_ptr",
                        "typeString": "struct IBondEscalationModule.BondEscalation memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "baseExpression": {
                        "id": 36891,
                        "name": "_escalations",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36036,
                        "src": "11896:12:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_BondEscalation_$42915_storage_$",
                          "typeString": "mapping(bytes32 => struct IBondEscalationModule.BondEscalation storage ref)"
                        }
                      },
                      "id": 36893,
                      "indexExpression": {
                        "id": 36892,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36884,
                        "src": "11909:10:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "11896:24:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BondEscalation_$42915_storage",
                        "typeString": "struct IBondEscalationModule.BondEscalation storage ref"
                      }
                    },
                    "src": "11882:38:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_BondEscalation_$42915_memory_ptr",
                      "typeString": "struct IBondEscalationModule.BondEscalation memory"
                    }
                  },
                  "id": 36895,
                  "nodeType": "ExpressionStatement",
                  "src": "11882:38:41"
                }
              ]
            },
            "baseFunctions": [
              42924
            ],
            "documentation": {
              "id": 36882,
              "nodeType": "StructuredDocumentation",
              "src": "11737:37:41",
              "text": "@inheritdoc IBondEscalationModule"
            },
            "functionSelector": "7068639f",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getEscalation",
            "nameLocation": "11786:13:41",
            "parameters": {
              "id": 36885,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36884,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "11808:10:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36897,
                  "src": "11800:18:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36883,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11800:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11799:20:41"
            },
            "returnParameters": {
              "id": 36889,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36888,
                  "mutability": "mutable",
                  "name": "_escalation",
                  "nameLocation": "11863:11:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 36897,
                  "src": "11841:33:41",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_BondEscalation_$42915_memory_ptr",
                    "typeString": "struct IBondEscalationModule.BondEscalation"
                  },
                  "typeName": {
                    "id": 36887,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36886,
                      "name": "BondEscalation",
                      "nameLocations": [
                        "11841:14:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 42915,
                      "src": "11841:14:41"
                    },
                    "referencedDeclaration": 42915,
                    "src": "11841:14:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_BondEscalation_$42915_storage_ptr",
                      "typeString": "struct IBondEscalationModule.BondEscalation"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11840:35:41"
            },
            "scope": 36898,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 36013,
              "name": "Module",
              "nameLocations": [
                "521:6:41"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 98,
              "src": "521:6:41"
            },
            "id": 36014,
            "nodeType": "InheritanceSpecifier",
            "src": "521:6:41"
          },
          {
            "baseName": {
              "id": 36015,
              "name": "IBondEscalationModule",
              "nameLocations": [
                "529:21:41"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 43004,
              "src": "529:21:41"
            },
            "id": 36016,
            "nodeType": "InheritanceSpecifier",
            "src": "529:21:41"
          }
        ],
        "canonicalName": "BondEscalationModule",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          36898,
          43004,
          2346,
          98,
          1782
        ],
        "name": "BondEscalationModule",
        "nameLocation": "497:20:41",
        "scope": 36899,
        "usedErrors": [
          1745,
          42846,
          42849,
          42852,
          42855,
          42858,
          42861,
          42864,
          42867,
          42870,
          42873,
          42876,
          42879,
          42882
        ]
      }
    ],
    "license": "AGPL-3.0-only"
  },
  "id": 41
}