UNPKG

kleros-interaction-2

Version:
549 lines 604 kB
{ "contractName": "AppealableArbitrator", "abi": [ { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "appealDisputeIDsToDisputeIDs", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "arbitratorExtraData", "outputs": [ { "name": "", "type": "bytes" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_disputeID", "type": "uint256" } ], "name": "currentRuling", "outputs": [ { "name": "ruling", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_disputeID", "type": "uint256" }, { "name": "_ruling", "type": "uint256" } ], "name": "rule", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "appealDisputes", "outputs": [ { "name": "rulingTime", "type": "uint256" }, { "name": "arbitrator", "type": "address" }, { "name": "appealDisputeID", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "disputes", "outputs": [ { "name": "arbitrated", "type": "address" }, { "name": "choices", "type": "uint256" }, { "name": "fee", "type": "uint256" }, { "name": "ruling", "type": "uint256" }, { "name": "status", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "timeOut", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "arbitrator", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_disputeID", "type": "uint256" } ], "name": "appealPeriod", "outputs": [ { "name": "start", "type": "uint256" }, { "name": "end", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_choices", "type": "uint256" }, { "name": "_extraData", "type": "bytes" } ], "name": "createDispute", "outputs": [ { "name": "disputeID", "type": "uint256" } ], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_extraData", "type": "bytes" } ], "name": "arbitrationCost", "outputs": [ { "name": "fee", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_arbitrationPrice", "type": "uint256" } ], "name": "setArbitrationPrice", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "name": "_arbitrationPrice", "type": "uint256" }, { "name": "_arbitrator", "type": "address" }, { "name": "_arbitratorExtraData", "type": "bytes" }, { "name": "_timeOut", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_metaEvidenceID", "type": "uint256" }, { "indexed": false, "name": "_evidence", "type": "string" } ], "name": "MetaEvidence", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": false, "name": "_metaEvidenceID", "type": "uint256" } ], "name": "Dispute", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": true, "name": "_party", "type": "address" }, { "indexed": false, "name": "_evidence", "type": "string" } ], "name": "Evidence", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": false, "name": "_ruling", "type": "uint256" } ], "name": "Ruling", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": true, "name": "_arbitrable", "type": "address" } ], "name": "DisputeCreation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": true, "name": "_arbitrable", "type": "address" } ], "name": "AppealPossible", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": true, "name": "_arbitrable", "type": "address" } ], "name": "AppealDecision", "type": "event" }, { "constant": false, "inputs": [ { "name": "_arbitrator", "type": "address" } ], "name": "changeArbitrator", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_timeOut", "type": "uint256" } ], "name": "changeTimeOut", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_disputeID", "type": "uint256" } ], "name": "getAppealDisputeID", "outputs": [ { "name": "disputeID", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_disputeID", "type": "uint256" }, { "name": "_extraData", "type": "bytes" } ], "name": "appeal", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_disputeID", "type": "uint256" }, { "name": "_ruling", "type": "uint256" } ], "name": "giveRuling", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_disputeID", "type": "uint256" }, { "name": "_extraData", "type": "bytes" } ], "name": "appealCost", "outputs": [ { "name": "cost", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_disputeID", "type": "uint256" } ], "name": "disputeStatus", "outputs": [ { "name": "status", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405260008054600160a060020a031916331790553480156200002357600080fd5b5060405162001a4438038062001a448339810160409081528151602080840151928401516060850151600184905560038054600160a060020a031916600160a060020a03871617905594018051929490929091849184916200008b916004918401906200009b565b5050506005555062000140915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000de57805160ff19168380011785556200010e565b828001600101855582156200010e579182015b828111156200010e578251825591602001919060010190620000f1565b506200011c92915062000120565b5090565b6200013d91905b808211156200011c576000815560010162000127565b90565b6118f480620001506000396000f3006080604052600436106101105763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662b5820581146101155780630c7ac7b61461013f57806310f169e8146101c957806319810619146102055780631c3db16d1461021d578063311a6c561461023557806337025d211461025257806349912f8814610290578063564a565d146102e1578063614d85e11461034b5780636cc6cde1146103605780638da5cb5b1461039157806394e9cb96146103a6578063afe15cfb146103be578063c13517e1146103ef578063c97c4d5c14610440578063f23f16e61461045b578063f7434ea9146104b9578063fc548f0814610512578063ffb43c4814610533575b600080fd5b34801561012157600080fd5b5061012d60043561054b565b60408051918252519081900360200190f35b34801561014b57600080fd5b5061015461055d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018e578181015183820152602001610176565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d557600080fd5b506101e16004356105eb565b604051808260028111156101f157fe5b60ff16815260200191505060405180910390f35b34801561021157600080fd5b5061012d6004356106e8565b34801561022957600080fd5b5061012d600435610789565b34801561024157600080fd5b506102506004356024356107b3565b005b34801561025e57600080fd5b5061026a600435610880565b60408051938452600160a060020a03909216602084015282820152519081900360600190f35b60408051602060046024803582810135601f81018590048502860185019096528585526102509583359536956044949193909101919081908401838280828437509497506108aa9650505050505050565b3480156102ed57600080fd5b506102f9600435610bdd565b6040518086600160a060020a0316600160a060020a0316815260200185815260200184815260200183815260200182600281111561033357fe5b60ff1681526020019550505050505060405180910390f35b34801561035757600080fd5b5061012d610c29565b34801561036c57600080fd5b50610375610c2f565b60408051600160a060020a039092168252519081900360200190f35b34801561039d57600080fd5b50610375610c3e565b3480156103b257600080fd5b50610250600435610c4d565b3480156103ca57600080fd5b506103d6600435610cb4565b6040805192835260208301919091528051918290030190f35b60408051602060046024803582810135601f810185900485028601850190965285855261012d958335953695604494919390910191908190840183828082843750949750610cbc9650505050505050565b34801561044c57600080fd5b50610250600435602435610dda565b34801561046757600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261012d9583359536956044949193909101919081908401838280828437509497506111969650505050505050565b3480156104c557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261012d9436949293602493928401919081908401838280828437509497506113f49650505050505050565b34801561051e57600080fd5b50610250600160a060020a03600435166113fb565b34801561053f57600080fd5b5061025060043561148c565b60076020526000908152604090205481565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b505050505081565b600081815260066020526040812060010154600160a060020a0316156106bb576000828152600660209081526040808320600181015460029091015482517f10f169e800000000000000000000000000000000000000000000000000000000815260048101919091529151600160a060020a03909116936310f169e893602480850194919392918390030190829087803b15801561068857600080fd5b505af115801561069c573d6000803e3d6000fd5b505050506040513d60208110156106b257600080fd5b505190506106e3565b60028054839081106106c957fe5b600091825260209091206004600590920201015460ff1690505b919050565b600081815260066020526040812060010154600160a060020a031615610785576000828152600660209081526040808320600181015460029091015482517f1981061900000000000000000000000000000000000000000000000000000000815260048101919091529151600160a060020a0390911693631981061993602480850194919392918390030190829087803b15801561068857600080fd5b5090565b600060028281548110151561079a57fe5b9060005260206000209060050201600301549050919050565b600354600160a060020a0316331461083b576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a361087c82826114f3565b5050565b6006602052600090815260409020805460018201546002909201549091600160a060020a03169083565b81816108b68282611196565b341015610933576040805160e560020a62461bcd02815260206004820152602560248201527f4e6f7420656e6f7567682045544820746f20636f7665722061707065616c206360448201527f6f7374732e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61093d84846115af565b600084815260066020526040902060010154600160a060020a031615610a60576000848152600660209081526040808320600181015460029091015482517f49912f880000000000000000000000000000000000000000000000000000000081526004810182815260248201948552895160448301528951600160a060020a03909416966349912f8896349694958c95939460640192918601918190849084905b838110156109f65781810151838201526020016109de565b50505050905090810190601f168015610a235780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b158015610a4257600080fd5b505af1158015610a56573d6000803e3d6000fd5b5050505050610bd7565b600380546000868152600660205260409020600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03928316179055905460028054919092169163c13517e19134919088908110610aba57fe5b906000526020600020906005020160010154866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b3b578181015183820152602001610b23565b50505050905090810190601f168015610b685780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818588803b158015610b8757600080fd5b505af1158015610b9b573d6000803e3d6000fd5b50505050506040513d6020811015610bb257600080fd5b5051600085815260066020908152604080832060020184905592825260079052208490555b50505050565b6002805482908110610beb57fe5b600091825260209091206005909102018054600182015460028301546003840154600490940154600160a060020a0390931694509092909160ff1685565b60055481565b600354600160a060020a031681565b600054600160a060020a031681565b600054600160a060020a03163314610caf576040805160e560020a62461bcd02815260206004820181905260248201527f43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e604482015290519081900360640190fd5b600555565b600080915091565b6000610cc8838361166b565b506001600260a06040519081016040528033600160a060020a031681526020018681526020013481526020016000815260200160006002811115610d0857fe5b90528154600180820180855560009485526020948590208451600590940201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909416939093178355938301518282015560408301516002808401919091556060840151600384015560808401516004840180549193909260ff19909216918490811115610d9257fe5b0217905550505003905033600160a060020a0316817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99560405160405180910390a35b92915050565b600280805484908110610de957fe5b600091825260209091206004600590920201015460ff166002811115610e0b57fe5b1415610e87576040805160e560020a62461bcd02815260206004820152602a60248201527f54686520737065636966696564206469737075746520697320616c726561647960448201527f207265736f6c7665642e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600082815260066020526040902060010154600160a060020a031615610f4d57600082815260066020526040902060010154600160a060020a03163314610f3e576040805160e560020a62461bcd02815260206004820152603c60248201527f41707065616c6564206469737075746573206d7573742062652072756c65642060448201527f6279207468656972206261636b2075702061726269747261746f722e00000000606482015290519081900360840190fd5b610f4882826116fb565b61087c565b600054600160a060020a03163314610fd5576040805160e560020a62461bcd02815260206004820152603160248201527f4e6f742061707065616c6564206469737075746573206d75737420626520727560448201527f6c656420627920746865206f776e65722e000000000000000000000000000000606482015290519081900360840190fd5b60016002805484908110610fe557fe5b600091825260209091206004600590920201015460ff16600281111561100757fe5b14156110cc5760055460008381526006602052604090205442031115611056576110518260028481548110151561103a57fe5b9060005260206000209060050201600301546116fb565b610f48565b6040805160e560020a62461bcd02815260206004820152602160248201527f54696d65206f75742074696d6520686173206e6f74207061737365642079657460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b806002838154811015156110dc57fe5b906000526020600020906005020160030181905550600160028381548110151561110257fe5b60009182526020909120600460059092020101805460ff1916600183600281111561112957fe5b02179055506000828152600660205260409020429055600280548390811061114d57fe5b60009182526020822060059091020154604051600160a060020a039091169184917fa5d41b970d849372be1da1481ffd78d162bfe57a7aa2fe4e5fb73481fa5ac24f9190a35050565b600082815260066020526040812060010154600160a060020a0316156112cf576000838152600660209081526040808320600181015460029091015482517ff23f16e60000000000000000000000000000000000000000000000000000000081526004810182815260248201948552885160448301528851600160a060020a039094169663f23f16e69693958a959294909360640192908601918190849084905b8381101561124f578181015183820152602001611237565b50505050905090810190601f16801561127c5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561129c57600080fd5b505af11580156112b0573d6000803e3d6000fd5b505050506040513d60208110156112c657600080fd5b50519050610dd4565b600160028054859081106112df57fe5b600091825260209091206004600590920201015460ff16600281111561130157fe5b14156113cc576003546040517ff7434ea9000000000000000000000000000000000000000000000000000000008152602060048201818152855160248401528551600160a060020a039094169363f7434ea993879383926044909201919085019080838360005b83811015611380578181015183820152602001611368565b50505050905090810190601f1680156113ad5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561129c57600080fd5b507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b5060015490565b600054600160a060020a0316331461145d576040805160e560020a62461bcd02815260206004820181905260248201527f43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146114ee576040805160e560020a62461bcd02815260206004820181905260248201527f43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e604482015290519081900360640190fd5b600155565b60008281526007602090815260408083205483526006909152902060010154600160a060020a03161515611596576040805160e560020a62461bcd028152602060048201526024808201527f5468652064697370757465206d7573742068617665206265656e20617070656160448201527f6c65642e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008281526007602052604090205461087c9082610dda565b81816115bb8282611196565b341015611638576040805160e560020a62461bcd02815260206004820152602560248201527f4e6f7420656e6f7567682045544820746f20636f7665722061707065616c206360448201527f6f7374732e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604051339085907f9c9b64db9e130f48381bf697abf638e73117dbfbfd7a4484f2da3ba188f4187d90600090a350505050565b600081611677816113f4565b3410156116f4576040805160e560020a62461bcd02815260206004820152602a60248201527f4e6f7420656e6f7567682045544820746f20636f76657220617262697472617460448201527f696f6e20636f7374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b5092915050565b600060028381548110151561170c57fe5b906000526020600020906005020190508060010154821115151561177a576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c69642072756c696e672e0000000000000000000000000000000000604482015290519081900360640190fd5b6002600482015460ff16600281111561178f57fe5b141561180b576040805160e560020a62461bcd02815260206004820152602760248201527f5468652064697370757465206d757374206e6f7420626520736f6c766564206160448201527f6c72656164792e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003810182905560048101805460ff1916600290811790915581015460405133916108fc811502916000818181858888f150508354604080517f311a6c5600000000000000000000000000000000000000000000000000000000815260048101899052602481018890529051600160a060020a03909216945063311a6c569350604480820193506000929182900301818387803b1580156118ab57600080fd5b505af11580156118bf573d6000803e3d6000fd5b505050505050505600a165627a7a72305820fe83e3630dd7b645bf32d810bda6e97e1e4dcc6f319f1008c8408416297c70af0029", "deployedBytecode": "0x6080604052600436106101105763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662b5820581146101155780630c7ac7b61461013f57806310f169e8146101c957806319810619146102055780631c3db16d1461021d578063311a6c561461023557806337025d211461025257806349912f8814610290578063564a565d146102e1578063614d85e11461034b5780636cc6cde1146103605780638da5cb5b1461039157806394e9cb96146103a6578063afe15cfb146103be578063c13517e1146103ef578063c97c4d5c14610440578063f23f16e61461045b578063f7434ea9146104b9578063fc548f0814610512578063ffb43c4814610533575b600080fd5b34801561012157600080fd5b5061012d60043561054b565b60408051918252519081900360200190f35b34801561014b57600080fd5b5061015461055d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018e578181015183820152602001610176565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d557600080fd5b506101e16004356105eb565b604051808260028111156101f157fe5b60ff16815260200191505060405180910390f35b34801561021157600080fd5b5061012d6004356106e8565b34801561022957600080fd5b5061012d600435610789565b34801561024157600080fd5b506102506004356024356107b3565b005b34801561025e57600080fd5b5061026a600435610880565b60408051938452600160a060020a03909216602084015282820152519081900360600190f35b60408051602060046024803582810135601f81018590048502860185019096528585526102509583359536956044949193909101919081908401838280828437509497506108aa9650505050505050565b3480156102ed57600080fd5b506102f9600435610bdd565b6040518086600160a060020a0316600160a060020a0316815260200185815260200184815260200183815260200182600281111561033357fe5b60ff1681526020019550505050505060405180910390f35b34801561035757600080fd5b5061012d610c29565b34801561036c57600080fd5b50610375610c2f565b60408051600160a060020a039092168252519081900360200190f35b34801561039d57600080fd5b50610375610c3e565b3480156103b257600080fd5b50610250600435610c4d565b3480156103ca57600080fd5b506103d6600435610cb4565b6040805192835260208301919091528051918290030190f35b60408051602060046024803582810135601f810185900485028601850190965285855261012d958335953695604494919390910191908190840183828082843750949750610cbc9650505050505050565b34801561044c57600080fd5b50610250600435602435610dda565b34801561046757600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261012d9583359536956044949193909101919081908401838280828437509497506111969650505050505050565b3480156104c557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261012d9436949293602493928401919081908401838280828437509497506113f49650505050505050565b34801561051e57600080fd5b50610250600160a060020a03600435166113fb565b34801561053f57600080fd5b5061025060043561148c565b60076020526000908152604090205481565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b505050505081565b600081815260066020526040812060010154600160a060020a0316156106bb576000828152600660209081526040808320600181015460029091015482517f10f169e800000000000000000000000000000000000000000000000000000000815260048101919091529151600160a060020a03909116936310f169e893602480850194919392918390030190829087803b15801561068857600080fd5b505af115801561069c573d6000803e3d6000fd5b505050506040513d60208110156106b257600080fd5b505190506106e3565b60028054839081106106c957fe5b600091825260209091206004600590920201015460ff1690505b919050565b600081815260066020526040812060010154600160a060020a031615610785576000828152600660209081526040808320600181015460029091015482517f1981061900000000000000000000000000000000000000000000000000000000815260048101919091529151600160a060020a0390911693631981061993602480850194919392918390030190829087803b15801561068857600080fd5b5090565b600060028281548110151561079a57fe5b9060005260206000209060050201600301549050919050565b600354600160a060020a0316331461083b576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a361087c82826114f3565b5050565b6006602052600090815260409020805460018201546002909201549091600160a060020a03169083565b81816108b68282611196565b341015610933576040805160e560020a62461bcd02815260206004820152602560248201527f4e6f7420656e6f7567682045544820746f20636f7665722061707065616c206360448201527f6f7374732e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61093d84846115af565b600084815260066020526040902060010154600160a060020a031615610a60576000848152600660209081526040808320600181015460029091015482517f49912f880000000000000000000000000000000000000000000000000000000081526004810182815260248201948552895160448301528951600160a060020a03909416966349912f8896349694958c95939460640192918601918190849084905b838110156109f65781810151838201526020016109de565b50505050905090810190601f168015610a235780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b158015610a4257600080fd5b505af1158015610a56573d6000803e3d6000fd5b5050505050610bd7565b600380546000868152600660205260409020600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03928316179055905460028054919092169163c13517e19134919088908110610aba57fe5b906000526020600020906005020160010154866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b3b578181015183820152602001610b23565b50505050905090810190601f168015610b685780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818588803b158015610b8757600080fd5b505af1158015610b9b573d6000803e3d6000fd5b50505050506040513d6020811015610bb257600080fd5b5051600085815260066020908152604080832060020184905592825260079052208490555b50505050565b6002805482908110610beb57fe5b600091825260209091206005909102018054600182015460028301546003840154600490940154600160a060020a0390931694509092909160ff1685565b60055481565b600354600160a060020a031681565b600054600160a060020a031681565b600054600160a060020a03163314610caf576040805160e560020a62461bcd02815260206004820181905260248201527f43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e604482015290519081900360640190fd5b600555565b600080915091565b6000610cc8838361166b565b506001600260a06040519081016040528033600160a060020a031681526020018681526020013481526020016000815260200160006002811115610d0857fe5b90528154600180820180855560009485526020948590208451600590940201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909416939093178355938301518282015560408301516002808401919091556060840151600384015560808401516004840180549193909260ff19909216918490811115610d9257fe5b0217905550505003905033600160a060020a0316817f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99560405160405180910390a35b92915050565b600280805484908110610de957fe5b600091825260209091206004600590920201015460ff166002811115610e0b57fe5b1415610e87576040805160e560020a62461bcd02815260206004820152602a60248201527f54686520737065636966696564206469737075746520697320616c726561647960448201527f207265736f6c7665642e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600082815260066020526040902060010154600160a060020a031615610f4d57600082815260066020526040902060010154600160a060020a03163314610f3e576040805160e560020a62461bcd02815260206004820152603c60248201527f41707065616c6564206469737075746573206d7573742062652072756c65642060448201527f6279207468656972206261636b2075702061726269747261746f722e00000000606482015290519081900360840190fd5b610f4882826116fb565b61087c565b600054600160a060020a03163314610fd5576040805160e560020a62461bcd02815260206004820152603160248201527f4e6f742061707065616c6564206469737075746573206d75737420626520727560448201527f6c656420627920746865206f776e65722e000000000000000000000000000000606482015290519081900360840190fd5b60016002805484908110610fe557fe5b600091825260209091206004600590920201015460ff16600281111561100757fe5b14156110cc5760055460008381526006602052604090205442031115611056576110518260028481548110151561103a57fe5b9060005260206000209060050201600301546116fb565b610f48565b6040805160e560020a62461bcd02815260206004820152602160248201527f54696d65206f75742074696d6520686173206e6f74207061737365642079657460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b806002838154811015156110dc57fe5b906000526020600020906005020160030181905550600160028381548110151561110257fe5b60009182526020909120600460059092020101805460ff1916600183600281111561112957fe5b02179055506000828152600660205260409020429055600280548390811061114d57fe5b60009182526020822060059091020154604051600160a060020a039091169184917fa5d41b970d849372be1da1481ffd78d162bfe57a7aa2fe4e5fb73481fa5ac24f9190a35050565b600082815260066020526040812060010154600160a060020a0316156112cf576000838152600660209081526040808320600181015460029091015482517ff23f16e60000000000000000000000000000000000000000000000000000000081526004810182815260248201948552885160448301528851600160a060020a039094169663f23f16e69693958a959294909360640192908601918190849084905b8381101561124f578181015183820152602001611237565b50505050905090810190601f16801561127c5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561129c57600080fd5b505af11580156112b0573d6000803e3d6000fd5b505050506040513d60208110156112c657600080fd5b50519050610dd4565b600160028054859081106112df57fe5b600091825260209091206004600590920201015460ff16600281111561130157fe5b14156113cc576003546040517ff7434ea9000000000000000000000000000000000000000000000000000000008152602060048201818152855160248401528551600160a060020a039094169363f7434ea993879383926044909201919085019080838360005b83811015611380578181015183820152602001611368565b50505050905090810190601f1680156113ad5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561129c57600080fd5b507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b5060015490565b600054600160a060020a0316331461145d576040805160e560020a62461bcd02815260206004820181905260248201527f43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146114ee576040805160e560020a62461bcd02815260206004820181905260248201527f43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e604482015290519081900360640190fd5b600155565b60008281526007602090815260408083205483526006909152902060010154600160a060020a03161515611596576040805160e560020a62461bcd028152602060048201526024808201527f5468652064697370757465206d7573742068617665206265656e20617070656160448201527f6c65642e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008281526007602052604090205461087c9082610dda565b81816115bb8282611196565b341015611638576040805160e560020a62461bcd02815260206004820152602560248201527f4e6f7420656e6f7567682045544820746f20636f7665722061707065616c206360448201527f6f7374732e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604051339085907f9c9b64db9e130f48381bf697abf638e73117dbfbfd7a4484f2da3ba188f4187d90600090a350505050565b600081611677816113f4565b3410156116f4576040805160e560020a62461bcd02815260206004820152602a60248201527f4e6f7420656e6f7567682045544820746f20636f76657220617262697472617460448201527f696f6e20636f7374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b5092915050565b600060028381548110151561170c57fe5b906000526020600020906005020190508060010154821115151561177a576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c69642072756c696e672e0000000000000000000000000000000000604482015290519081900360640190fd5b6002600482015460ff16600281111561178f57fe5b141561180b576040805160e560020a62461bcd02815260206004820152602760248201527f5468652064697370757465206d757374206e6f7420626520736f6c766564206160448201527f6c72656164792e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003810182905560048101805460ff1916600290811790915581015460405133916108fc811502916000818181858888f150508354604080517f311a6c5600000000000000000000000000000000000000000000000000000000815260048101899052602481018890529051600160a060020a03909216945063311a6c569350604480820193506000929182900301818387803b1580156118ab57600080fd5b505af11580156118bf573d6000803e3d6000fd5b505050505050505600a165627a7a72305820fe83e3630dd7b645bf32d810bda6e97e1e4dcc6f319f1008c8408416297c70af0029", "sourceMap": "215:5789:1:-;;;411:31:12;;;-1:-1:-1;;;;;;411:31:12;432:10;411:31;;;931:270:1;5:2:-1;;;;30:1;27;20:12;5:2;931:270:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:16:12;:36;;;2848:10:2;:24;;-1:-1:-1;;;;;;2848:24:2;-1:-1:-1;;;;;2848:24:2;;;;;931:270:1;;2882:42:2;;931:270:1;;;;;;;;;;2882:42:2;;:19;;:42;;;;:::i;:::-;-1:-1:-1;;;1176:7:1;:18;-1:-1:-1;215:5789:1;;-1:-1:-1;;215:5789:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;215:5789:1;;;-1:-1:-1;215:5789:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", "deployedSourceMap": "215:5789:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;529:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;529:57:1;;;;;;;;;;;;;;;;;;;;;691:32:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5163:335:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5163:335:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1777:352;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1777:352:1;;;;;4556:124:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4556:124:12;;;;;3332:182:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3332:182:2;;;;;;;;;471:52:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;471:52:1;;;;;;;;;;;;-1:-1:-1;;;;;471:52:1;;;;;;;;;;;;;;;;;;;;2301:698;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2301:698:1;;-1:-1:-1;2301:698:1;;-1:-1:-1;;;;;;;2301:698:1;903:31:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;903:31:12;;;;;;;;;;-1:-1:-1;;;;;903:31:12;-1:-1:-1;;;;;903:31:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;446:19:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;446:19:1;;;;657:28:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:28:2;;;;;;;;-1:-1:-1;;;;;657:28:2;;;;;;;;;;;;;;411:31:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;411:31:12;;;;1536:92:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1536:92:1;;;;;3874:83:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3874:83:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;2525:532:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2525:532:12;;-1:-1:-1;2525:532:12;;-1:-1:-1;;;;;;;2525:532:12;3126:1185:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3126:1185:1;;;;;;;4562:455;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4562:455:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4562:455:1;;-1:-1:-1;4562:455:1;;-1:-1:-1;;;;;;;4562:455:1;1610:113:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1610:113:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1610:113:12;;-1:-1:-1;1610:113:12;;-1:-1:-1;;;;;;;1610:113:12;1335:110:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1335:110:1;-1:-1:-1;;;;;1335:110:1;;;;;1320:123:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1320:123:12;;;;;529:57:1;;;;;;;;;;;;;:::o;691:32:2:-;;;;;;;;;;;;;;;-1:-1:-1;;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5163:335:1:-;5223:20;5259:26;;;:14;:26;;;;;:37;;;-1:-1:-1;;;;;5259:37:1;:63;5255:236;;5345:26;;;;:14;:26;;;;;;;;:37;;;;5397:42;;;;;5345:95;;;;;;;;;;;;;;-1:-1:-1;;;;;5345:37:1;;;;:51;;:95;;;;;:26;;:95;;;;;;;;;:37;:95;;;5:2:-1;;;;30:1;27;20:12;5:2;5345:95:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5345:95:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5345:95:1;;-1:-1:-1;5255:236:1;;;5464:8;:20;;5473:10;;5464:20;;;;;;;;;;;;;;:27;:20;;;;;:27;;;;;-1:-1:-1;5255:236:1;5163:335;;;:::o;1777:352::-;1844:14;1874:26;;;:14;:26;;;;;:37;;;-1:-1:-1;;;;;1874:37:1;:63;1870:252;;1984:26;;;;:14;:26;;;;;;;;:37;;;;2042:42;;;;;1963:122;;;;;;;;;;;;;;-1:-1:-1;;;;;1984:37:1;;;;1963:78;;:122;;;;;1984:26;;1963:122;;;;;;;;;1984:37;1963:122;;;5:2:-1;;;;30:1;27;20:12;1870:252:1;-1:-1:-1;2112:10:1;1777:352::o;4556:124:12:-;4616:11;4646:8;4655:10;4646:20;;;;;;;;;;;;;;;;;;;;:27;;;4639:34;;4556:124;;;:::o;3332:182:2:-;851:10;;-1:-1:-1;;;;;851:10:2;829;:33;821:83;;;;;-1:-1:-1;;;;;821:83:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:49;;;;;;;;3444:10;;3432;;3414:49;;;;;;;;;3474:33;3488:10;3499:7;3474:13;:33::i;:::-;3332:182;;:::o;471:52:1:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;471:52:1;;;:::o;2301:698::-;2384:10;2396;1031:34:9;1042:10;1054;1031;:34::i;:::-;1018:9;:47;;1010:97;;;;;-1:-1:-1;;;;;1010:97:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2418:36:1;2431:10;2443;2418:12;:36::i;:::-;2528:1;2468:26;;;:14;:26;;;;;:37;;;-1:-1:-1;;;;;2468:37:1;:63;2464:529;;2545:26;;;;:14;:26;;;;;;;;:37;;;;2607:42;;;;;2545:117;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2545:37:1;;;;:44;;2596:9;;2607:42;;2651:10;;2545:117;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2545:117:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2545:117:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2545:117:1;;;;;2464:529;;;2731:10;;;;2691:26;;;:14;:26;;;;;2731:10;2691:37;:50;;-1:-1:-1;;2691:50:1;-1:-1:-1;;;;;2731:10:1;;;2691:50;;;2800:10;;2842:8;:20;;2800:10;;;;;:24;;2831:9;;2842:8;2706:10;;2842:20;;;;;;;;;;;;;;;;:28;;;2872:10;2800:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2800:83:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2800:83:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2800:83:1;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2800:83:1;2755:26;;;;:14;2800:83;2755:26;;;;;;;:42;;:128;;;2897:72;;;:28;:72;;;:85;;;2464:529;2301:698;;;;:::o;903:31:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;903:31:12;;;;-1:-1:-1;903:31:12;;;;;;;:::o;446:19:1:-;;;;:::o;657:28:2:-;;;-1:-1:-1;;;;;657:28:2;;:::o;411:31:12:-;;;-1:-1:-1;;;;;411:31:12;;:::o;1536:92:1:-;850:5:12;;-1:-1:-1;;;;;850:5:12;838:10;:17;830:62;;;;;-1:-1:-1;;;;;830:62:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1603:7:1;:18;1536:92::o;3874:83:9:-;3933:10;3945:8;3874:83;;;:::o;2525:532:12:-;2604:14;2631:40;2651:8;2660:10;2631:19;:40::i;:::-;;2913:1;2693:8;2707:202;;;;;;;;;2758:10;-1:-1:-1;;;;;2707:202:12;;;;;2792:8;2707:202;;;;2819:9;2707:202;;;;2850:1;2707:202;;;;2873:21;2707:202;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;2693:217:12;;;;;;;;;;;;;;;;;-1:-1:-1;;2693:217:12;-1:-1:-1;;;;;2693:217:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2693:217:12;;;;;;;;;;;;;;;;;;;;:221;2681:233;;3012:10;-1:-1:-1;;;;;2974:50:12;2990:9;2974:50;;;;;;;;;;2525:532;;;;;:::o;3126:1185:1:-;3233:20;3202:8;:20;;3211:10;;3202:20;;;;;;;;;;;;;;:27;:20;;;;;:27;;;;:51;;;;;;;;;;3194:106;;;;;-1:-1:-1;;;;;3194:106:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3374:1;3314:26;;;:14;:26;;;;;:37;;;-1:-1:-1;;;;;3314:37:1;:63;3310:995;;3427:26;;;;:14;:26;;;;;:37;;;-1:-1:-1;;;;;3427:37:1;3412:10;3401:63;3393:136;;;;;-1:-1:-1;;;;;3393:136:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3543:38;3561:10;3573:7;3543:17;:38::i;:::-;3310:995;;;3634:5;;-1:-1:-1;;;;;3634:5:1;3620:10;:19;3612:81;;;;;-1:-1:-1;;;;;3612:81:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3742:24;3711:8;:20;;3720:10;;3711:20;;;;;;;;;;;;;;:27;:20;;;;;:27;;;;:55;;;;;;;;;3707:588;;;3836:7;;3796:26;;;;:14;:26;;;;;:37;3790:3;:43;:53;3786:203;;;3865:58;3883:10;3895:8;3904:10;3895:20;;;;;;;;;;;;;;;;;;;;:27;;;3865:17;:58::i;:::-;3786:203;;;3946:43;;;-1:-1:-1;;;;;3946:43:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3707:588;4058:7;4028:8;4037:10;4028:20;;;;;;;;;;;;;;;;;;;;:27;;:37;;;;4113:24;4083:8;4092:10;4083:20;;;;;;;;;;;;;;;;;;:27;:20;;;;;:27;:54;;-1:-1:-1;;4083:54:1;;;;;;;;;;;;;;;-1:-1:-1;4155:26:1;;;;:14;:26;;;;;4195:3;4155:43;;4248:8;:20;;4170:10;;4248:20;;;;;;;;;;;;;;;;;;:31;4221:59;;-1:-1:-1;;;;;4248:31:1;;;;4236:10;;4221:59;;4248:20;4221:59;3126:1185;;:::o;4562:455::-;4637:9;4662:26;;;:14;:26;;;;;:37;;;-1:-1:-1;;;;;4662:37:1;:63;4658:352;;4746:26;;;;:14;:26;;;;;;;;:37;;;;4795:42;;;;;4746:104;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4746:37:1;;;;:48;;4795:42;;4839:10;;4746:104;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4746:104:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4746:104:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4746:104:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4746:104:1;;-1:-1:-1;4658:352:1;;;4900:24;4869:8;:20;;4878:10;;4869:20;;;;;;;;;;;;;;:27;:20;;;;;:27;;;;:55;;;;;;;;;4865:145;;;4933:10;;:38;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4933:10:1;;;;:26;;4960:10;;4933:38;;;;;;;;;;;;;;:10;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4933:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;4865:145:1;-1:-1:-1;576:12:12;4562:455:1;;;;:::o;1610:113:12:-;-1:-1:-1;1700:16:12;;;1610:113::o;1335:110:1:-;850:5:12;;-1:-1:-1;;;;;850:5:12;838:10;:17;830:62;;;;;-1:-1:-1;;;;;830:62:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1414:10:1;:24;;-1:-1:-1;;1414:24:1;-1:-1:-1;;;;;1414:24:1;;;;;;;;;;1335:110::o;1320:123:12:-;850:5;;-1:-1:-1;;;;;850:5:12;838:10;:17;830:62;;;;;-1:-1:-1;;;;;830:62:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1400:16;:36;1320:123::o;5675:327:1:-;5859:1;5784:40;;;:28;:40;;;;;;;;;5769:56;;:14;:56;;;;;:67;;;-1:-1:-1;;;;;5769:67:1;:93;;5748:176;;;;;-1:-1:-1;;;;;5748:176:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5945:40;;;;:28;:40;;;;;;5934:61;;5987:7;5934:10;:61::i;3011:178:9:-;3086:10;3097;1031:34;1042:10;1054;1031;:34::i;:::-;1018:9;:47;;1010:97;;;;;-1:-1:-1;;;;;1010:97:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3132:50;;3170:10;;3147;;3132:50;;;;;3011:178;;;;:::o;2220:131::-;2333:14;2305:10;842:27;858:10;842:15;:27::i;:::-;829:9;:40;;821:95;;;;;-1:-1:-1;;;;;821:95:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2220:131;;;;;:::o;3272:479:12:-;3343:21;3367:8;3376:10;3367:20;;;;;;;;;;;;;;;;;;;;3343:44;;3416:7;:15;;;3405:7;:26;;3397:54;;;;;;;-1:-1:-1;;;;;3397:54:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;3487:20;3469:14;;;;;;:38;;;;;;;;;;3461:90;;;;;-1:-1:-1;;;;;3461:90:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3562:14;;;:24;;;3596:14;;;:37;;-1:-1:-1;;3596:37:12;3613:20;3596:37;;;;;;3660:11;;;3644:28;;:10;;:28;;;;;-1:-1:-1;3644:28:12;-1:-1:-1;3644:28:12;3660:11;3644:10;:28;;-1:-1:-1;;3701:18:12;;:43;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3701:18:12;;;;-1:-1:-1;3701:23:12;;-1:-1:-1;3701:43:12;;;;;-1:-1:-1;3701:18:12;;:43;;;;;;:18;;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;3701:43:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3701:43:12;;;;3272:479;;;:::o", "source": "pragma solidity ^0.4.24;\n\nimport \"./CentralizedArbitrator.sol\";\n\n/**\n * @title AppealableArbitrator\n * @author Enrique Piqueras - <epiquerass@gmail.com>\n * @dev A centralized arbitrator that can be appealed.\n */\ncontract AppealableArbitrator is CentralizedArbitrator, Arbitrable {\n /* Structs */\n\n struct AppealDispute {\n uint rulingTime;\n Arbitrator arbitrator;\n uint appealDisputeID;\n }\n\n /* Storage */\n\n uint public timeOut;\n mapping(uint => AppealDispute) public appealDisputes;\n mapping(uint => uint) public appealDisputeIDsToDisputeIDs;\n\n /* Constructor */\n\n /** @dev Constructs the `AppealableArbitrator` contract.\n * @param _arbitrationPrice The amount to be paid for arbitration.\n * @param _arbitrator The back up arbitrator.\n * @param _arbitratorExtraData Not used by this contract.\n * @param _timeOut The time out for the appeal period.\n */\n constructor(\n uint _arbitrationPrice,\n Arbitrator _arbitrator,\n bytes _arbitratorExtraData,\n uint _timeOut\n ) public CentralizedArbitrator(_arbitrationPrice) Arbitrable(_arbitrator, _arbitratorExtraData) {\n timeOut = _timeOut;\n }\n\n /* External */\n\n /** @dev Changes the back up arbitrator.\n * @param _arbitrator The new back up arbitrator.\n */\n function changeArbitrator(Arbitrator _arbitrator) external onlyOwner {\n arbitrator = _arbitrator;\n }\n\n /** @dev Changes the time out.\n * @param _timeOut The new time out.\n */\n function changeTimeOut(uint _timeOut) external onlyOwner {\n timeOut = _timeOut;\n }\n\n /* External Views */\n\n /** @dev Gets the specified dispute's latest appeal ID.\n * @param _disputeID The ID of the dispute.\n */\n function getAppealDisputeID(uint _disputeID) external view returns(uint disputeID) {\n if (appealDisputes[_disputeID].arbitrator != Arbitrator(address(0)))\n disputeID = AppealableArbitrator(appealDisputes[_disputeID].arbitrator).getAppealDisputeID(appealDisputes[_disputeID].appealDisputeID);\n else disputeID = _disputeID;\n }\n\n /* Public */\n\n /** @dev Appeals a ruling.\n * @param _disputeID The ID of the dispute.\n * @param _extraData Additional info about the appeal.\n */\n function appeal(uint _disputeID, bytes _extraData) public payable requireAppealFee(_disputeID, _extraData) {\n super.appeal(_disputeID, _extraData);\n if (appealDisputes[_disputeID].arbitrator != Arbitrator(address(0)))\n appealDisputes[_disputeID].arbitrator.appeal.value(msg.value)(appealDisputes[_disputeID].appealDisputeID, _extraData);\n else {\n appealDisputes[_disputeID].arbitrator = arb