{"abi":[{"type":"constructor","inputs":[{"name":"_gameType","type":"uint32","internalType":"GameType"},{"name":"_absolutePrestate","type":"bytes32","internalType":"Claim"},{"name":"_maxGameDepth","type":"uint256","internalType":"uint256"},{"name":"_splitDepth","type":"uint256","internalType":"uint256"},{"name":"_clockExtension","type":"uint64","internalType":"Duration"},{"name":"_maxClockDuration","type":"uint64","internalType":"Duration"},{"name":"_vm","type":"address","internalType":"contract IBigStepper"},{"name":"_weth","type":"address","internalType":"contract IDelayedWETH"},{"name":"_anchorStateRegistry","type":"address","internalType":"contract IAnchorStateRegistry"},{"name":"_l2ChainId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"absolutePrestate","inputs":[],"outputs":[{"name":"absolutePrestate_","type":"bytes32","internalType":"Claim"}],"stateMutability":"view"},{"type":"function","name":"addLocalData","inputs":[{"name":"_ident","type":"uint256","internalType":"uint256"},{"name":"_execLeafIdx","type":"uint256","internalType":"uint256"},{"name":"_partOffset","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorStateRegistry","inputs":[],"outputs":[{"name":"registry_","type":"address","internalType":"contract IAnchorStateRegistry"}],"stateMutability":"view"},{"type":"function","name":"attack","inputs":[{"name":"_parentIndex","type":"uint256","internalType":"uint256"},{"name":"_claim","type":"bytes32","internalType":"Claim"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"claimCredit","inputs":[{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimData","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"parentIndex","type":"uint32","internalType":"uint32"},{"name":"counteredBy","type":"address","internalType":"address"},{"name":"claimant","type":"address","internalType":"address"},{"name":"bond","type":"uint128","internalType":"uint128"},{"name":"claim","type":"bytes32","internalType":"Claim"},{"name":"position","type":"uint128","internalType":"Position"},{"name":"clock","type":"uint128","internalType":"Clock"}],"stateMutability":"view"},{"type":"function","name":"claimDataLen","inputs":[],"outputs":[{"name":"len_","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claims","inputs":[{"name":"","type":"bytes32","internalType":"ClaimHash"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"clockExtension","inputs":[],"outputs":[{"name":"clockExtension_","type":"uint64","internalType":"Duration"}],"stateMutability":"view"},{"type":"function","name":"createdAt","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"Timestamp"}],"stateMutability":"view"},{"type":"function","name":"credit","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"defend","inputs":[{"name":"_parentIndex","type":"uint256","internalType":"uint256"},{"name":"_claim","type":"bytes32","internalType":"Claim"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"extraData","inputs":[],"outputs":[{"name":"extraData_","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"gameCreator","inputs":[],"outputs":[{"name":"creator_","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"gameData","inputs":[],"outputs":[{"name":"gameType_","type":"uint32","internalType":"GameType"},{"name":"rootClaim_","type":"bytes32","internalType":"Claim"},{"name":"extraData_","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"gameType","inputs":[],"outputs":[{"name":"gameType_","type":"uint32","internalType":"GameType"}],"stateMutability":"view"},{"type":"function","name":"getChallengerDuration","inputs":[{"name":"_claimIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"duration_","type":"uint64","internalType":"Duration"}],"stateMutability":"view"},{"type":"function","name":"getRequiredBond","inputs":[{"name":"_position","type":"uint128","internalType":"Position"}],"outputs":[{"name":"requiredBond_","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"l1Head","inputs":[],"outputs":[{"name":"l1Head_","type":"bytes32","internalType":"Hash"}],"stateMutability":"pure"},{"type":"function","name":"l2BlockNumber","inputs":[],"outputs":[{"name":"l2BlockNumber_","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"l2ChainId","inputs":[],"outputs":[{"name":"l2ChainId_","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"maxClockDuration","inputs":[],"outputs":[{"name":"maxClockDuration_","type":"uint64","internalType":"Duration"}],"stateMutability":"view"},{"type":"function","name":"maxGameDepth","inputs":[],"outputs":[{"name":"maxGameDepth_","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"_challengeIndex","type":"uint256","internalType":"uint256"},{"name":"_claim","type":"bytes32","internalType":"Claim"},{"name":"_isAttack","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"resolve","inputs":[],"outputs":[{"name":"status_","type":"uint8","internalType":"enum GameStatus"}],"stateMutability":"nonpayable"},{"type":"function","name":"resolveClaim","inputs":[{"name":"_claimIndex","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resolvedAt","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"Timestamp"}],"stateMutability":"view"},{"type":"function","name":"resolvedSubgames","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"rootClaim","inputs":[],"outputs":[{"name":"rootClaim_","type":"bytes32","internalType":"Claim"}],"stateMutability":"pure"},{"type":"function","name":"splitDepth","inputs":[],"outputs":[{"name":"splitDepth_","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"startingBlockNumber","inputs":[],"outputs":[{"name":"startingBlockNumber_","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"startingOutputRoot","inputs":[],"outputs":[{"name":"root","type":"bytes32","internalType":"Hash"},{"name":"l2BlockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"startingRootHash","inputs":[],"outputs":[{"name":"startingRootHash_","type":"bytes32","internalType":"Hash"}],"stateMutability":"view"},{"type":"function","name":"status","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum GameStatus"}],"stateMutability":"view"},{"type":"function","name":"step","inputs":[{"name":"_claimIndex","type":"uint256","internalType":"uint256"},{"name":"_isAttack","type":"bool","internalType":"bool"},{"name":"_stateData","type":"bytes","internalType":"bytes"},{"name":"_proof","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"subgames","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"vm","inputs":[],"outputs":[{"name":"vm_","type":"address","internalType":"contract IBigStepper"}],"stateMutability":"view"},{"type":"function","name":"weth","inputs":[],"outputs":[{"name":"weth_","type":"address","internalType":"contract IDelayedWETH"}],"stateMutability":"view"},{"type":"event","name":"Move","inputs":[{"name":"parentIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"claim","type":"bytes32","indexed":true,"internalType":"Claim"},{"name":"claimant","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Resolved","inputs":[{"name":"status","type":"uint8","indexed":true,"internalType":"enum GameStatus"}],"anonymous":false},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AnchorRootNotFound","inputs":[]},{"type":"error","name":"BondTransferFailed","inputs":[]},{"type":"error","name":"CannotDefendRootClaim","inputs":[]},{"type":"error","name":"ClaimAboveSplit","inputs":[]},{"type":"error","name":"ClaimAlreadyExists","inputs":[]},{"type":"error","name":"ClaimAlreadyResolved","inputs":[]},{"type":"error","name":"ClockNotExpired","inputs":[]},{"type":"error","name":"ClockTimeExceeded","inputs":[]},{"type":"error","name":"DuplicateStep","inputs":[]},{"type":"error","name":"GameDepthExceeded","inputs":[]},{"type":"error","name":"GameNotInProgress","inputs":[]},{"type":"error","name":"IncorrectBondAmount","inputs":[]},{"type":"error","name":"InvalidClockExtension","inputs":[]},{"type":"error","name":"InvalidLocalIdent","inputs":[]},{"type":"error","name":"InvalidParent","inputs":[]},{"type":"error","name":"InvalidPrestate","inputs":[]},{"type":"error","name":"InvalidSplitDepth","inputs":[]},{"type":"error","name":"MaxDepthTooLarge","inputs":[]},{"type":"error","name":"NoCreditToClaim","inputs":[]},{"type":"error","name":"OutOfOrderResolution","inputs":[]},{"type":"error","name":"UnexpectedRootClaim","inputs":[{"name":"rootClaim","type":"bytes32","internalType":"Claim"}]},{"type":"error","name":"ValidStep","inputs":[]}],"bytecode":{"object":"0x6101c06040523480156200001257600080fd5b5060405162004dfd38038062004dfd833981016040819052620000359162000187565b620000436001607e62000248565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b878710620000885760405163e62ccf3960e01b815260040160405180910390fd5b620000a7856001600160401b03166200014e60201b620029041760201c565b6001600160401b0316620000cf876001600160401b03166200014e60201b620029041760201c565b6001600160401b03161115620000f85760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b0390811661010052908116610140521661016052610180526200027a565b90565b80516001600160401b03811681146200016957600080fd5b919050565b6001600160a01b03811681146200018457600080fd5b50565b6000806000806000806000806000806101408b8d031215620001a857600080fd5b8a5163ffffffff81168114620001bd57600080fd5b809a505060208b0151985060408b0151975060608b01519650620001e460808c0162000151565b9550620001f460a08c0162000151565b945060c08b015162000206816200016e565b60e08c015190945062000219816200016e565b6101008c01519093506200022d816200016e565b809250506101208b015190509295989b9194979a5092959850565b600060ff821660ff8416808210156200027157634e487b7160e01b600052601160045260246000fd5b90039392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051614a0b620003f2600039600081816105c60152818161124f0152818161130d015261133701526000818161084a0152612b5501526000818161050b01528181610c1f015261186001526000818161045201528181610da50152818161170701528181611c610152613f310152600081816106a60152818161181f0152612bef01526000818161041f015281816124c6015261281b01526000818161089d015281816111e90152818161127a0152818161136f01528181611e6d01528181611eaf0152612ced0152600081816108d00152818161108f01528181611158015281816112d80152818161231901528181612a1d015281816130fd0152818161382c0152818161395a01528181613a5b0152613b30015260008181610987015281816110fb01528181611f7e015281816120040152818161220f015261233a01526000818161066b01526123d80152614a0b6000f3fe6080604052600436106102bb5760003560e01c80638b85902b1161016e578063d6ae3cd5116100cb578063f8f43ff61161007f578063fa315aa911610064578063fa315aa914610978578063fdffbb28146109ab578063fe2bbeb2146109cb57600080fd5b8063f8f43ff614610934578063fa24f7431461095457600080fd5b8063dabd396d116100b0578063dabd396d1461088e578063ec5e6308146108c1578063eff0f592146108f457600080fd5b8063d6ae3cd51461083b578063d8cc1a3c1461086e57600080fd5b8063c395e1ca11610122578063c6f0308c11610107578063c6f0308c14610763578063cf09e0d0146107ed578063d5d44d801461080e57600080fd5b8063c395e1ca14610730578063c55cd0c71461075057600080fd5b8063bbdc02db11610153578063bbdc02db1461068f578063bcef3b55146106d0578063bd8da9561461071057600080fd5b80638b85902b1461061c5780638d450a951461065c57600080fd5b806357da950e1161021c5780636361506d116101d057806370872aa5116101b557806370872aa5146105ea5780638129fc1c146105ff5780638980e0cc1461060757600080fd5b80636361506d146105775780636b6716c0146105b757600080fd5b8063609d333411610201578063609d33341461052f57806360e2746414610544578063632247ea1461056457600080fd5b806357da950e146104cc5780635c0cba33146104fc57600080fd5b806335fef567116102735780633a768463116102585780633a768463146104105780633fc8cef31461044357806354fd4d501461047657600080fd5b806335fef5671461039a57806337b1b229146103af57600080fd5b806325fc2ace116102a457806325fc2ace146103465780632810e1d6146103655780632ad69aeb1461037a57600080fd5b806319effeb4146102c0578063200d2ed21461030b575b600080fd5b3480156102cc57600080fd5b506000546102ed9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561031757600080fd5b5060005461033990700100000000000000000000000000000000900460ff1681565b60405161030291906142b6565b34801561035257600080fd5b506006545b604051908152602001610302565b34801561037157600080fd5b506103396109fb565b34801561038657600080fd5b506103576103953660046142f7565b610ca0565b6103ad6103a83660046142f7565b610cd1565b005b3480156103bb57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c5b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610302565b34801561041c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103eb565b34801561044f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103eb565b34801561048257600080fd5b506104bf6040518060400160405280600681526020017f302e31372e30000000000000000000000000000000000000000000000000000081525081565b6040516103029190614384565b3480156104d857600080fd5b506006546007546104e7919082565b60408051928352602083019190915201610302565b34801561050857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103eb565b34801561053b57600080fd5b506104bf610ce6565b34801561055057600080fd5b506103ad61055f3660046143bc565b610cf4565b6103ad6105723660046143f5565b610ea0565b34801561058357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360340135610357565b3480156105c357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ed565b3480156105f657600080fd5b50600754610357565b6103ad6117a0565b34801561061357600080fd5b50600154610357565b34801561062857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135610357565b34801561066857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610357565b34801561069b57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610302565b3480156106dc57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360140135610357565b34801561071c57600080fd5b506102ed61072b36600461442a565b611cf8565b34801561073c57600080fd5b5061035761074b366004614443565b611ed8565b6103ad61075e3660046142f7565b6120bb565b34801561076f57600080fd5b5061078361077e36600461442a565b6120c7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610302565b3480156107f957600080fd5b506000546102ed9067ffffffffffffffff1681565b34801561081a57600080fd5b506103576108293660046143bc565b60026020526000908152604090205481565b34801561084757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610357565b34801561087a57600080fd5b506103ad6108893660046144be565b61215e565b34801561089a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ed565b3480156108cd57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610357565b34801561090057600080fd5b5061092461090f36600461442a565b60036020526000908152604090205460ff1681565b6040519015158152602001610302565b34801561094057600080fd5b506103ad61094f366004614548565b61278d565b34801561096057600080fd5b50610969612bed565b60405161030293929190614574565b34801561098457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610357565b3480156109b757600080fd5b506103ad6109c636600461442a565b612c4d565b3480156109d757600080fd5b506109246109e636600461442a565b60056020526000908152604090205460ff1681565b600080600054700100000000000000000000000000000000900460ff166002811115610a2957610a29614287565b14610a60576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5460ff16610ac4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600081548110610af057610af0614599565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614610b2b576001610b2e565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617700100000000000000000000000000000000836002811115610bdf57610bdf614287565b021790556002811115610bf457610bf4614287565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c8557600080fd5b505af1158015610c99573d6000803e3d6000fd5b5050505090565b60046020528160005260406000208181548110610cbc57600080fd5b90600052602060002001600091509150505481565b610cdd82826000610ea0565b5050565b905090565b6060610ce16054602061305f565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080549082905590819003610d59576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610e5b576040519150601f19603f3d011682016040523d82523d6000602084013e610e60565b606091505b5050905080610e9b576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60008054700100000000000000000000000000000000900460ff166002811115610ecc57610ecc614287565b14610f03576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018481548110610f1857610f18614599565b600091825260208083206040805160e0810182526005909402909101805463ffffffff808216865273ffffffffffffffffffffffffffffffffffffffff6401000000009092048216948601949094526001820154169184019190915260028101546fffffffffffffffffffffffffffffffff90811660608501526003820154608085015260049091015480821660a0850181905270010000000000000000000000000000000090910490911660c0840152919350909190610fdd90839086906130b116565b9050600061107d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508615806110b857506110b57f000000000000000000000000000000000000000000000000000000000000000060026145f7565b81145b80156110c2575084155b156110f9576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611153576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61117e7f000000000000000000000000000000000000000000000000000000000000000060016145f7565b810361119057611190868885886130b9565b3461119a83611ed8565b146111d1576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006111dc88611cf8565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611244576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166112a4919061460f565b67ffffffffffffffff166112bf8267ffffffffffffffff1690565b67ffffffffffffffff1611156113a15760006112fc60017f0000000000000000000000000000000000000000000000000000000000000000614638565b83146113325767ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016611367565b6113677f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261464f565b905061139d817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1661460f565b9150505b6000604082901b42176000898152608086901b6fffffffffffffffffffffffffffffffff8c1617602052604081209192509060008181526003602052604090205490915060ff161561141f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060016040518060e001604052808c63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018b8152602001876fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600460008b8152602001908152602001600020600180805490506116b49190614638565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b50506040513393508c92508d91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a450505050505050505050565b60005471010000000000000000000000000000000000900460ff16156117f2576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156118a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ca919061467f565b909250905081611906576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526006829055600781905536607a1461193957639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116119d3576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c0190815282548084018455928a529a5160059092027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf681018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf787018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf985015551955182167001000000000000000000000000000000000295909116949094177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa9091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015611ca757600080fd5b505af1158015611cbb573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611d2657611d26614287565b14611d5d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018381548110611d7257611d72614599565b600091825260208220600590910201805490925063ffffffff90811614611de157815460018054909163ffffffff16908110611db057611db0614599565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611e1990700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611e2d9067ffffffffffffffff1642614638565b611e4c611e0c846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611e6091906145f7565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611ead5780611ecf565b7f00000000000000000000000000000000000000000000000000000000000000005b95945050505050565b600080611f77836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611fd6576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a80630bebc2006000611ff183836146d2565b9050670de0b6b3a76400006000612028827f00000000000000000000000000000000000000000000000000000000000000006146e6565b90506000612046612041670de0b6b3a7640000866146e6565b613273565b9050600061205484846134ce565b90506000612062838361351d565b9050600061206f8261354b565b9050600061208e82612089670de0b6b3a76400008f6146e6565b613733565b9050600061209c8b8361351d565b90506120a8818d6146e6565b9f9e505050505050505050505050505050565b610cdd82826001610ea0565b600181815481106120d757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff16600281111561218a5761218a614287565b146121c1576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600187815481106121d6576121d6614599565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506122357f000000000000000000000000000000000000000000000000000000000000000060016145f7565b6122d1826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461230b576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156124025761235e7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614638565b6001901b61237d846fffffffffffffffffffffffffffffffff1661376d565b6fffffffffffffffffffffffffffffffff166123999190614723565b156123d6576123cd6123be60016fffffffffffffffffffffffffffffffff8716614737565b865463ffffffff16600061380c565b600301546123f8565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061242c565b600385015491506124296123be6fffffffffffffffffffffffffffffffff86166001614760565b90505b600882901b60088a8a604051612443929190614794565b6040518091039020901b14612484576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061248f8c6138f0565b9050600061249e836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290612518908f908f908f908f908a906004016147ed565b6020604051808303816000875af1158015612537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255b9190614827565b600485015491149150600090600290612606906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6126a2896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6126ac9190614840565b6126b69190614863565b60ff1615905081151581036126f7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff161561274e576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156127b9576127b9614287565b146127f0576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000806127ff8661391f565b9350935093509350600061281585858585613d28565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a89190614885565b9050600189036129a35773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84612907367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299d9190614827565b50612be2565b600289036129cf5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489612907565b600389036129fb5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487612907565b60048903612b17576000612a416fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000613de2565b600754612a4e91906145f7565b612a599060016145f7565b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b109190614827565b5050612be2565b60058903612bb0576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a40161295a565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612c46610ce6565b9050909192565b60008054700100000000000000000000000000000000900460ff166002811115612c7957612c79614287565b14612cb0576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018281548110612cc557612cc5614599565b906000526020600020906005020190506000612ce083611cf8565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015612d49576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526005602052604090205460ff1615612d92576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838152600460205260409020805480158015612daf57508415155b15612e49578354640100000000900473ffffffffffffffffffffffffffffffffffffffff1660008115612de25781612dfe565b600186015473ffffffffffffffffffffffffffffffffffffffff165b9050612e0a8187613e90565b505050600093845250506005602052506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60006fffffffffffffffffffffffffffffffff815b83811015612f91576000858281548110612e7a57612e7a614599565b6000918252602080832090910154808352600590915260409091205490915060ff16612ed2576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018281548110612ee757612ee7614599565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff16158015612f40575060048101546fffffffffffffffffffffffffffffffff908116908516115b15612f7e576001810154600482015473ffffffffffffffffffffffffffffffffffffffff90911695506fffffffffffffffffffffffffffffffff1693505b505080612f8a906148a2565b9050612e5e565b50612fd973ffffffffffffffffffffffffffffffffffffffff831615612fb75782612fd3565b600187015473ffffffffffffffffffffffffffffffffffffffff165b87613e90565b50845473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff90911617909355505050600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b151760011b90565b60006130d86fffffffffffffffffffffffffffffffff84166001614760565b905060006130e88286600161380c565b9050600086901a83806131d4575061312160027f0000000000000000000000000000000000000000000000000000000000000000614723565b60048301546002906131c5906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6131cf9190614863565b60ff16145b1561322c5760ff8116600114806131ee575060ff81166002145b613227576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016119ca565b61326a565b60ff81161561326a576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016119ca565b50505050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136132d257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261350b57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561353b5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361357957919050565b680755bf798b4a1bf1e582126135975763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613764670de0b6b3a76400008361374b86613273565b61375591906148da565b61375f9190614996565b61354b565b90505b92915050565b6000806137fa837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082613855576138506fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000613f89565b613870565b613870856fffffffffffffffffffffffffffffffff16614139565b90506001848154811061388557613885614599565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146138e857815460018054909163ffffffff169081106138d3576138d3614599565b90600052602060002090600502019150613896565b509392505050565b60008060008060006139018661391f565b935093509350935061391584848484613d28565b9695505050505050565b600080600080600085905060006001828154811061393f5761393f614599565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090613a16906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a50576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613b17906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169250821115613b8c57825463ffffffff16613b567f000000000000000000000000000000000000000000000000000000000000000060016145f7565b8303613b60578391505b60018181548110613b7357613b73614599565b9060005260206000209060050201935080945050613a54565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff16613bf5613be0856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015613cc4576000613c2d836fffffffffffffffffffffffffffffffff1661376d565b6fffffffffffffffffffffffffffffffff161115613c98576000613c6f613c6760016fffffffffffffffffffffffffffffffff8616614737565b89600161380c565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50613c9e9050565b6006549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750613d1a565b6000613ce6613c676fffffffffffffffffffffffffffffffff85166001614760565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615613d955760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611ecf565b8282604051602001613dc39291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e6f847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60028082015473ffffffffffffffffffffffffffffffffffffffff841660009081526020929092526040822080546fffffffffffffffffffffffffffffffff909216928392613ee09084906145f7565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613f7557600080fd5b505af115801561326a573d6000803e3d6000fd5b600081614028846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614062576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61406b83614139565b90508161410a826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613767576137646141208360016145f7565b6fffffffffffffffffffffffffffffffff8316906141de565b600081196001830116816141cd827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061426b847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106142f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561430a57600080fd5b50508035926020909101359150565b6000815180845260005b8181101561433f57602081850181015186830182015201614323565b81811115614351576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006137646020830184614319565b73ffffffffffffffffffffffffffffffffffffffff811681146143b957600080fd5b50565b6000602082840312156143ce57600080fd5b81356143d981614397565b9392505050565b803580151581146143f057600080fd5b919050565b60008060006060848603121561440a57600080fd5b8335925060208401359150614421604085016143e0565b90509250925092565b60006020828403121561443c57600080fd5b5035919050565b60006020828403121561445557600080fd5b81356fffffffffffffffffffffffffffffffff811681146143d957600080fd5b60008083601f84011261448757600080fd5b50813567ffffffffffffffff81111561449f57600080fd5b6020830191508360208285010111156144b757600080fd5b9250929050565b600080600080600080608087890312156144d757600080fd5b863595506144e7602088016143e0565b9450604087013567ffffffffffffffff8082111561450457600080fd5b6145108a838b01614475565b9096509450606089013591508082111561452957600080fd5b5061453689828a01614475565b979a9699509497509295939492505050565b60008060006060848603121561455d57600080fd5b505081359360208301359350604090920135919050565b63ffffffff84168152826020820152606060408201526000611ecf6060830184614319565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561460a5761460a6145c8565b500190565b600067ffffffffffffffff83811690831681811015614630576146306145c8565b039392505050565b60008282101561464a5761464a6145c8565b500390565b600067ffffffffffffffff80831681851681830481118215151615614676576146766145c8565b02949350505050565b6000806040838503121561469257600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826146e1576146e16146a3565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561471e5761471e6145c8565b500290565b600082614732576147326146a3565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015614630576146306145c8565b60006fffffffffffffffffffffffffffffffff80831681851680830382111561478b5761478b6145c8565b01949350505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006148016060830187896147a4565b82810360208401526148148186886147a4565b9150508260408301529695505050505050565b60006020828403121561483957600080fd5b5051919050565b600060ff821660ff84168082101561485a5761485a6145c8565b90039392505050565b600060ff831680614876576148766146a3565b8060ff84160691505092915050565b60006020828403121561489757600080fd5b81516143d981614397565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148d3576148d36145c8565b5060010190565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561491b5761491b6145c8565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615614956576149566145c8565b60008712925087820587128484161615614972576149726145c8565b87850587128184161615614988576149886145c8565b505050929093029392505050565b6000826149a5576149a56146a3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156149f9576149f96145c8565b50059056fea164736f6c634300080f000a","sourceMap":"996:43827:164:-:0;;;4927:1230;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5391:35;5425:1;512:3:176;5391:35:164;:::i;:::-;5375:51;;:13;:51;5371:82;;;5435:18;;-1:-1:-1;;;5435:18:164;;;;;;;;;;;5371:82;5564:13;5549:11;:28;5545:60;;5586:19;;-1:-1:-1;;;5586:19:164;;;;;;;;;;;5545:60;5722:23;:17;-1:-1:-1;;;;;5722:21:164;;;;;;:23;;:::i;:::-;-1:-1:-1;;;;;5698:47:164;:21;:15;-1:-1:-1;;;;;5698:19:164;;;;;;:21;;:::i;:::-;-1:-1:-1;;;;;5698:47:164;;5694:83;;;5754:23;;-1:-1:-1;;;5754:23:164;;;;;;;;;;;5694:83;5788:21;;;;;;5819:37;;;;;-1:-1:-1;5866:30:164;;;;5906:25;;;;;-1:-1:-1;;;;;5941:33:164;;;;;5984:38;;;-1:-1:-1;;;;;6032:8:164;;;;;6050:12;;;;;6072:44;;;6126:24;;996:43827;;2881:145:177;3001:9;2881:145::o;14:198:357:-;115:13;;-1:-1:-1;;;;;157:30:357;;147:41;;137:69;;202:1;199;192:12;137:69;14:198;;;:::o;217:144::-;-1:-1:-1;;;;;305:31:357;;295:42;;285:70;;351:1;348;341:12;285:70;217:144;:::o;366:1384::-;714:6;722;730;738;746;754;762;770;778;786;839:3;827:9;818:7;814:23;810:33;807:53;;;856:1;853;846:12;807:53;888:9;882:16;938:10;931:5;927:22;920:5;917:33;907:61;;964:1;961;954:12;907:61;987:5;977:15;;;1032:2;1021:9;1017:18;1011:25;1001:35;;1076:2;1065:9;1061:18;1055:25;1045:35;;1120:2;1109:9;1105:18;1099:25;1089:35;;1143:72;1210:3;1199:9;1195:19;1143:72;:::i;:::-;1133:82;;1234:72;1301:3;1290:9;1286:19;1234:72;:::i;:::-;1224:82;;1351:3;1340:9;1336:19;1330:26;1365:46;1403:7;1365:46;:::i;:::-;1482:3;1467:19;;1461:26;1430:7;;-1:-1:-1;1496:46:357;1461:26;1496:46;:::i;:::-;1613:3;1598:19;;1592:26;1561:7;;-1:-1:-1;1627:46:357;1592:26;1627:46;:::i;:::-;1692:7;1682:17;;;1739:3;1728:9;1724:19;1718:26;1708:36;;366:1384;;;;;;;;;;;;;:::o;1755:292::-;1793:4;1830;1827:1;1823:12;1862:4;1859:1;1855:12;1887:3;1882;1879:12;1876:135;;;1933:10;1928:3;1924:20;1921:1;1914:31;1968:4;1965:1;1958:15;1996:4;1993:1;1986:15;1876:135;2028:13;;;1755:292;-1:-1:-1;;;1755:292:357:o;:::-;996:43827:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106102bb5760003560e01c80638b85902b1161016e578063d6ae3cd5116100cb578063f8f43ff61161007f578063fa315aa911610064578063fa315aa914610978578063fdffbb28146109ab578063fe2bbeb2146109cb57600080fd5b8063f8f43ff614610934578063fa24f7431461095457600080fd5b8063dabd396d116100b0578063dabd396d1461088e578063ec5e6308146108c1578063eff0f592146108f457600080fd5b8063d6ae3cd51461083b578063d8cc1a3c1461086e57600080fd5b8063c395e1ca11610122578063c6f0308c11610107578063c6f0308c14610763578063cf09e0d0146107ed578063d5d44d801461080e57600080fd5b8063c395e1ca14610730578063c55cd0c71461075057600080fd5b8063bbdc02db11610153578063bbdc02db1461068f578063bcef3b55146106d0578063bd8da9561461071057600080fd5b80638b85902b1461061c5780638d450a951461065c57600080fd5b806357da950e1161021c5780636361506d116101d057806370872aa5116101b557806370872aa5146105ea5780638129fc1c146105ff5780638980e0cc1461060757600080fd5b80636361506d146105775780636b6716c0146105b757600080fd5b8063609d333411610201578063609d33341461052f57806360e2746414610544578063632247ea1461056457600080fd5b806357da950e146104cc5780635c0cba33146104fc57600080fd5b806335fef567116102735780633a768463116102585780633a768463146104105780633fc8cef31461044357806354fd4d501461047657600080fd5b806335fef5671461039a57806337b1b229146103af57600080fd5b806325fc2ace116102a457806325fc2ace146103465780632810e1d6146103655780632ad69aeb1461037a57600080fd5b806319effeb4146102c0578063200d2ed21461030b575b600080fd5b3480156102cc57600080fd5b506000546102ed9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561031757600080fd5b5060005461033990700100000000000000000000000000000000900460ff1681565b60405161030291906142b6565b34801561035257600080fd5b506006545b604051908152602001610302565b34801561037157600080fd5b506103396109fb565b34801561038657600080fd5b506103576103953660046142f7565b610ca0565b6103ad6103a83660046142f7565b610cd1565b005b3480156103bb57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c5b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610302565b34801561041c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103eb565b34801561044f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103eb565b34801561048257600080fd5b506104bf6040518060400160405280600681526020017f302e31372e30000000000000000000000000000000000000000000000000000081525081565b6040516103029190614384565b3480156104d857600080fd5b506006546007546104e7919082565b60408051928352602083019190915201610302565b34801561050857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103eb565b34801561053b57600080fd5b506104bf610ce6565b34801561055057600080fd5b506103ad61055f3660046143bc565b610cf4565b6103ad6105723660046143f5565b610ea0565b34801561058357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360340135610357565b3480156105c357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ed565b3480156105f657600080fd5b50600754610357565b6103ad6117a0565b34801561061357600080fd5b50600154610357565b34801561062857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135610357565b34801561066857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610357565b34801561069b57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610302565b3480156106dc57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360140135610357565b34801561071c57600080fd5b506102ed61072b36600461442a565b611cf8565b34801561073c57600080fd5b5061035761074b366004614443565b611ed8565b6103ad61075e3660046142f7565b6120bb565b34801561076f57600080fd5b5061078361077e36600461442a565b6120c7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610302565b3480156107f957600080fd5b506000546102ed9067ffffffffffffffff1681565b34801561081a57600080fd5b506103576108293660046143bc565b60026020526000908152604090205481565b34801561084757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610357565b34801561087a57600080fd5b506103ad6108893660046144be565b61215e565b34801561089a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ed565b3480156108cd57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610357565b34801561090057600080fd5b5061092461090f36600461442a565b60036020526000908152604090205460ff1681565b6040519015158152602001610302565b34801561094057600080fd5b506103ad61094f366004614548565b61278d565b34801561096057600080fd5b50610969612bed565b60405161030293929190614574565b34801561098457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610357565b3480156109b757600080fd5b506103ad6109c636600461442a565b612c4d565b3480156109d757600080fd5b506109246109e636600461442a565b60056020526000908152604090205460ff1681565b600080600054700100000000000000000000000000000000900460ff166002811115610a2957610a29614287565b14610a60576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5460ff16610ac4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600081548110610af057610af0614599565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614610b2b576001610b2e565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617700100000000000000000000000000000000836002811115610bdf57610bdf614287565b021790556002811115610bf457610bf4614287565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c8557600080fd5b505af1158015610c99573d6000803e3d6000fd5b5050505090565b60046020528160005260406000208181548110610cbc57600080fd5b90600052602060002001600091509150505481565b610cdd82826000610ea0565b5050565b905090565b6060610ce16054602061305f565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080549082905590819003610d59576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610e5b576040519150601f19603f3d011682016040523d82523d6000602084013e610e60565b606091505b5050905080610e9b576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60008054700100000000000000000000000000000000900460ff166002811115610ecc57610ecc614287565b14610f03576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018481548110610f1857610f18614599565b600091825260208083206040805160e0810182526005909402909101805463ffffffff808216865273ffffffffffffffffffffffffffffffffffffffff6401000000009092048216948601949094526001820154169184019190915260028101546fffffffffffffffffffffffffffffffff90811660608501526003820154608085015260049091015480821660a0850181905270010000000000000000000000000000000090910490911660c0840152919350909190610fdd90839086906130b116565b9050600061107d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508615806110b857506110b57f000000000000000000000000000000000000000000000000000000000000000060026145f7565b81145b80156110c2575084155b156110f9576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611153576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61117e7f000000000000000000000000000000000000000000000000000000000000000060016145f7565b810361119057611190868885886130b9565b3461119a83611ed8565b146111d1576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006111dc88611cf8565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611244576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166112a4919061460f565b67ffffffffffffffff166112bf8267ffffffffffffffff1690565b67ffffffffffffffff1611156113a15760006112fc60017f0000000000000000000000000000000000000000000000000000000000000000614638565b83146113325767ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016611367565b6113677f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261464f565b905061139d817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1661460f565b9150505b6000604082901b42176000898152608086901b6fffffffffffffffffffffffffffffffff8c1617602052604081209192509060008181526003602052604090205490915060ff161561141f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060016040518060e001604052808c63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018b8152602001876fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600460008b8152602001908152602001600020600180805490506116b49190614638565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b50506040513393508c92508d91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a450505050505050505050565b60005471010000000000000000000000000000000000900460ff16156117f2576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156118a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ca919061467f565b909250905081611906576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526006829055600781905536607a1461193957639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116119d3576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c0190815282548084018455928a529a5160059092027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf681018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf787018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf985015551955182167001000000000000000000000000000000000295909116949094177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa9091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015611ca757600080fd5b505af1158015611cbb573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611d2657611d26614287565b14611d5d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018381548110611d7257611d72614599565b600091825260208220600590910201805490925063ffffffff90811614611de157815460018054909163ffffffff16908110611db057611db0614599565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611e1990700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611e2d9067ffffffffffffffff1642614638565b611e4c611e0c846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611e6091906145f7565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611ead5780611ecf565b7f00000000000000000000000000000000000000000000000000000000000000005b95945050505050565b600080611f77836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611fd6576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a80630bebc2006000611ff183836146d2565b9050670de0b6b3a76400006000612028827f00000000000000000000000000000000000000000000000000000000000000006146e6565b90506000612046612041670de0b6b3a7640000866146e6565b613273565b9050600061205484846134ce565b90506000612062838361351d565b9050600061206f8261354b565b9050600061208e82612089670de0b6b3a76400008f6146e6565b613733565b9050600061209c8b8361351d565b90506120a8818d6146e6565b9f9e505050505050505050505050505050565b610cdd82826001610ea0565b600181815481106120d757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff16600281111561218a5761218a614287565b146121c1576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600187815481106121d6576121d6614599565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506122357f000000000000000000000000000000000000000000000000000000000000000060016145f7565b6122d1826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461230b576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156124025761235e7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614638565b6001901b61237d846fffffffffffffffffffffffffffffffff1661376d565b6fffffffffffffffffffffffffffffffff166123999190614723565b156123d6576123cd6123be60016fffffffffffffffffffffffffffffffff8716614737565b865463ffffffff16600061380c565b600301546123f8565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061242c565b600385015491506124296123be6fffffffffffffffffffffffffffffffff86166001614760565b90505b600882901b60088a8a604051612443929190614794565b6040518091039020901b14612484576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061248f8c6138f0565b9050600061249e836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290612518908f908f908f908f908a906004016147ed565b6020604051808303816000875af1158015612537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255b9190614827565b600485015491149150600090600290612606906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6126a2896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6126ac9190614840565b6126b69190614863565b60ff1615905081151581036126f7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff161561274e576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156127b9576127b9614287565b146127f0576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000806127ff8661391f565b9350935093509350600061281585858585613d28565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a89190614885565b9050600189036129a35773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84612907367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299d9190614827565b50612be2565b600289036129cf5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489612907565b600389036129fb5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487612907565b60048903612b17576000612a416fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000613de2565b600754612a4e91906145f7565b612a599060016145f7565b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b109190614827565b5050612be2565b60058903612bb0576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a40161295a565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612c46610ce6565b9050909192565b60008054700100000000000000000000000000000000900460ff166002811115612c7957612c79614287565b14612cb0576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018281548110612cc557612cc5614599565b906000526020600020906005020190506000612ce083611cf8565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015612d49576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526005602052604090205460ff1615612d92576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838152600460205260409020805480158015612daf57508415155b15612e49578354640100000000900473ffffffffffffffffffffffffffffffffffffffff1660008115612de25781612dfe565b600186015473ffffffffffffffffffffffffffffffffffffffff165b9050612e0a8187613e90565b505050600093845250506005602052506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60006fffffffffffffffffffffffffffffffff815b83811015612f91576000858281548110612e7a57612e7a614599565b6000918252602080832090910154808352600590915260409091205490915060ff16612ed2576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018281548110612ee757612ee7614599565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff16158015612f40575060048101546fffffffffffffffffffffffffffffffff908116908516115b15612f7e576001810154600482015473ffffffffffffffffffffffffffffffffffffffff90911695506fffffffffffffffffffffffffffffffff1693505b505080612f8a906148a2565b9050612e5e565b50612fd973ffffffffffffffffffffffffffffffffffffffff831615612fb75782612fd3565b600187015473ffffffffffffffffffffffffffffffffffffffff165b87613e90565b50845473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff90911617909355505050600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b151760011b90565b60006130d86fffffffffffffffffffffffffffffffff84166001614760565b905060006130e88286600161380c565b9050600086901a83806131d4575061312160027f0000000000000000000000000000000000000000000000000000000000000000614723565b60048301546002906131c5906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6131cf9190614863565b60ff16145b1561322c5760ff8116600114806131ee575060ff81166002145b613227576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016119ca565b61326a565b60ff81161561326a576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016119ca565b50505050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136132d257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261350b57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561353b5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361357957919050565b680755bf798b4a1bf1e582126135975763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613764670de0b6b3a76400008361374b86613273565b61375591906148da565b61375f9190614996565b61354b565b90505b92915050565b6000806137fa837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082613855576138506fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000613f89565b613870565b613870856fffffffffffffffffffffffffffffffff16614139565b90506001848154811061388557613885614599565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146138e857815460018054909163ffffffff169081106138d3576138d3614599565b90600052602060002090600502019150613896565b509392505050565b60008060008060006139018661391f565b935093509350935061391584848484613d28565b9695505050505050565b600080600080600085905060006001828154811061393f5761393f614599565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090613a16906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a50576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613b17906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169250821115613b8c57825463ffffffff16613b567f000000000000000000000000000000000000000000000000000000000000000060016145f7565b8303613b60578391505b60018181548110613b7357613b73614599565b9060005260206000209060050201935080945050613a54565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff16613bf5613be0856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015613cc4576000613c2d836fffffffffffffffffffffffffffffffff1661376d565b6fffffffffffffffffffffffffffffffff161115613c98576000613c6f613c6760016fffffffffffffffffffffffffffffffff8616614737565b89600161380c565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50613c9e9050565b6006549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750613d1a565b6000613ce6613c676fffffffffffffffffffffffffffffffff85166001614760565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615613d955760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611ecf565b8282604051602001613dc39291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e6f847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60028082015473ffffffffffffffffffffffffffffffffffffffff841660009081526020929092526040822080546fffffffffffffffffffffffffffffffff909216928392613ee09084906145f7565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613f7557600080fd5b505af115801561326a573d6000803e3d6000fd5b600081614028846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614062576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61406b83614139565b90508161410a826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613767576137646141208360016145f7565b6fffffffffffffffffffffffffffffffff8316906141de565b600081196001830116816141cd827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061426b847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106142f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561430a57600080fd5b50508035926020909101359150565b6000815180845260005b8181101561433f57602081850181015186830182015201614323565b81811115614351576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006137646020830184614319565b73ffffffffffffffffffffffffffffffffffffffff811681146143b957600080fd5b50565b6000602082840312156143ce57600080fd5b81356143d981614397565b9392505050565b803580151581146143f057600080fd5b919050565b60008060006060848603121561440a57600080fd5b8335925060208401359150614421604085016143e0565b90509250925092565b60006020828403121561443c57600080fd5b5035919050565b60006020828403121561445557600080fd5b81356fffffffffffffffffffffffffffffffff811681146143d957600080fd5b60008083601f84011261448757600080fd5b50813567ffffffffffffffff81111561449f57600080fd5b6020830191508360208285010111156144b757600080fd5b9250929050565b600080600080600080608087890312156144d757600080fd5b863595506144e7602088016143e0565b9450604087013567ffffffffffffffff8082111561450457600080fd5b6145108a838b01614475565b9096509450606089013591508082111561452957600080fd5b5061453689828a01614475565b979a9699509497509295939492505050565b60008060006060848603121561455d57600080fd5b505081359360208301359350604090920135919050565b63ffffffff84168152826020820152606060408201526000611ecf6060830184614319565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561460a5761460a6145c8565b500190565b600067ffffffffffffffff83811690831681811015614630576146306145c8565b039392505050565b60008282101561464a5761464a6145c8565b500390565b600067ffffffffffffffff80831681851681830481118215151615614676576146766145c8565b02949350505050565b6000806040838503121561469257600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826146e1576146e16146a3565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561471e5761471e6145c8565b500290565b600082614732576147326146a3565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015614630576146306145c8565b60006fffffffffffffffffffffffffffffffff80831681851680830382111561478b5761478b6145c8565b01949350505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006148016060830187896147a4565b82810360208401526148148186886147a4565b9150508260408301529695505050505050565b60006020828403121561483957600080fd5b5051919050565b600060ff821660ff84168082101561485a5761485a6145c8565b90039392505050565b600060ff831680614876576148766146a3565b8060ff84160691505092915050565b60006020828403121561489757600080fd5b81516143d981614397565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148d3576148d36145c8565b5060010190565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561491b5761491b6145c8565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615614956576149566145c8565b60008712925087820587128484161615614972576149726145c8565b87850587128184161615614988576149886145c8565b505050929093029392505050565b6000826149a5576149a56146a3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156149f9576149f96145c8565b50059056fea164736f6c634300080f000a","sourceMap":"996:43827:164:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3113:27;;;;;;;;;;-1:-1:-1;3113:27:164;;;;;;;;;;;;;;221:18:357;209:31;;;191:50;;179:2;164:18;3113:27:164;;;;;;;;3180:24;;;;;;;;;;-1:-1:-1;3180:24:164;;;;;;;;;;;;;;;;;;:::i;22098:135::-;;;;;;;;;;-1:-1:-1;22203:18:164;:23;22098:135;;;1021:25:357;;;1009:2;994:18;22098:135:164;848:204:357;22480:905:164;;;;;;;;;;;;;:::i;3777:45::-;;;;;;;;;;-1:-1:-1;3777:45:164;;;;;:::i;:::-;;:::i;19512:119::-;;;;;;:::i;:::-;;:::i;:::-;;27482:110;;;;;;;;;;-1:-1:-1;14565:14:97;14561:22;;;14548:36;14543:3;14539:46;14519:67;;1993:36;1989:2;1985:45;27482:110:164;;;1949:42:357;1937:55;;;1919:74;;1907:2;1892:18;27482:110:164;1773:226:357;34509:79:164;;;;;;;;;;-1:-1:-1;34579:2:164;34509:79;;34653:88;;;;;;;;;;-1:-1:-1;34730:4:164;34653:88;;2918:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4061:36::-;;;;;;;;;;-1:-1:-1;4061:36:164;;;;;;;;;;;;;3473:25:357;;;3529:2;3514:18;;3507:34;;;;3446:18;4061:36:164;3272:275:357;34807:136:164;;;;;;;;;;-1:-1:-1;34915:21:164;34807:136;;27942:231;;;;;;;;;;;;;:::i;31160:671::-;;;;;;;;;;-1:-1:-1;31160:671:164;;;;;:::i;:::-;;:::i;14106:5200::-;;;;;;:::i;:::-;;:::i;27792:111::-;;;;;;;;;;-1:-1:-1;14565:14:97;14561:22;;;14548:36;14543:3;14539:46;14519:67;;27890:4:164;3514:22:97;3501:36;27792:111:164;27482:110;34331:125;;;;;;;;;;-1:-1:-1;34434:15:164;34331:125;;21898:156;;;;;;;;;;-1:-1:-1;22015:32:164;;21898:156;;6198:2903;;;:::i;33244:101::-;;;;;;;;;;-1:-1:-1;33322:9:164;:16;33244:101;;21730:124;;;;;;;;;;-1:-1:-1;14565:14:97;14561:22;;;14548:36;14543:3;14539:46;14519:67;;21842:4:164;3514:22:97;3501:36;21730:124:164;27482:110;33631:130;;;;;;;;;;-1:-1:-1;33737:17:164;33631:130;;27335:108;;;;;;;;;;-1:-1:-1;27335:108:164;;5615:10:357;27427:9:164;5603:23:357;5585:42;;5573:2;5558:18;27335:108:164;5409:224:357;27631:122:164;;;;;;;;;;-1:-1:-1;14565:14:97;14561:22;;;14548:36;14543:3;14539:46;14519:67;;27740:4:164;3514:22:97;3501:36;27631:122:164;27482:110;32166:1011;;;;;;;;;;-1:-1:-1;32166:1011:164;;;;;:::i;:::-;;:::i;28849:2171::-;;;;;;;;;;-1:-1:-1;28849:2171:164;;;;;:::i;:::-;;:::i;19350:118::-;;;;;;:::i;:::-;;:::i;3405:28::-;;;;;;;;;;-1:-1:-1;3405:28:164;;;;;:::i;:::-;;:::i;:::-;;;;6590:10:357;6578:23;;;6560:42;;6621;6699:15;;;6694:2;6679:18;;6672:43;6751:15;;;;6731:18;;;6724:43;;;;6786:34;6856:15;;;6851:2;6836:18;;6829:43;6903:3;6888:19;;6881:35;6953:15;;;6947:3;6932:19;;6925:44;7006:15;7000:3;6985:19;;6978:44;6547:3;6532:19;3405:28:164;6160:868:357;3017:26:164;;;;;;;;;;-1:-1:-1;3017:26:164;;;;;;;;3500:41;;;;;;;;;;-1:-1:-1;3500:41:164;;;;;:::i;:::-;;;;;;;;;;;;;;35032:105;;;;;;;;;;-1:-1:-1;35119:11:164;35032:105;;9353:4442;;;;;;;;;;-1:-1:-1;9353:4442:164;;;;;:::i;:::-;;:::i;34137:134::-;;;;;;;;;;-1:-1:-1;34246:18:164;34137:134;;33975:108;;;;;;;;;;-1:-1:-1;34065:11:164;33975:108;;3629:40;;;;;;;;;;-1:-1:-1;3629:40:164;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8626:14:357;;8619:22;8601:41;;8589:2;8574:18;3629:40:164;8461:187:357;19675:2011:164;;;;;;;;;;-1:-1:-1;19675:2011:164;;;;;:::i;:::-;;:::i;28212:213::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;33811:117::-;;;;;;;;;;-1:-1:-1;33907:14:164;33811:117;;23429:3867;;;;;;;;;;-1:-1:-1;23429:3867:164;;;;;:::i;:::-;;:::i;3912:48::-;;;;;;;;;;-1:-1:-1;3912:48:164;;;;;:::i;:::-;;;;;;;;;;;;;;;;22480:905;22517:18;;22639:6;;;;;;;:32;;;;;;;;:::i;:::-;;22635:64;;22680:19;;;;;;;;;;;;;;22635:64;22813:19;;;:16;:19;;;;;;22808:55;;22841:22;;;;;;;;;;;;;;22808:55;22989:1;22953:38;;:9;22963:1;22953:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:24;;;;;;:38;:94;;23021:26;22953:94;;;22994:24;22953:94;23057:10;:52;;;23092:15;23057:52;;;;;;;;;;22943:104;;-1:-1:-1;22943:104:164;;23239:16;;;;;;;;22943:104;23239:16;;;;;;;;:::i;:::-;;;;;23230:26;;;;;;;;:::i;:::-;;;;;;;;23334:21;:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22480:905;:::o;3777:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19512:119::-;19591:33;19596:12;19610:6;19618:5;19591:4;:33::i;:::-;19512:119;;:::o;27565:20::-;27554:31;;27482:110;:::o;27942:231::-;27984:23;28142:24;28155:4;28161;28142:12;:24::i;31160:671::-;31333:18;;;31307:23;31333:18;;;:6;:18;;;;;;;31361:22;;;;31333:18;31457:20;;;31453:75;;31500:17;;;;;;;;;;;;;;31453:75;31605:42;;;;;:13;9795:55:357;;;31605:42:164;;;9777:74:357;9867:18;;;9860:34;;;31605:4:164;:13;;;;9750:18:357;;31605:42:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31708:12;31725:10;:15;;31749;31725:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31707:66;;;31788:7;31783:41;;31804:20;;;;;;;;;;;;;;31783:41;31210:621;;31160:671;:::o;14106:5200::-;14307:22;14297:6;;;;;;;:32;;;;;;;;:::i;:::-;;14293:64;;14338:19;;;;;;;;;;;;;;14293:64;14448:23;14474:9;14484:15;14474:26;;;;;;;;:::i;:::-;;;;;;;;;14448:52;;;;;;;;14474:26;;;;;;;14448:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14448:52:164;;14474:26;14829:25;;14448:52;;14844:9;;14829:14;:25;:::i;:::-;14805:49;;14864:25;14892:20;:12;:18;;2237:66:176;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;14892:20:164;14864:48;;;-1:-1:-1;15259:20:164;;;:60;;-1:-1:-1;15304:15:164;:11;15318:1;15304:15;:::i;:::-;15283:17;:36;15259:60;15258:76;;;;;15325:9;15324:10;15258:76;15254:137;;;15357:23;;;;;;;;;;;;;;15254:137;15752:14;15732:17;:34;15728:66;;;15775:19;;;;;;;;;;;;;;15728:66;16022:15;:11;16036:1;16022:15;:::i;:::-;16001:17;:36;15997:138;;16053:71;16078:6;16086:15;16103:9;16114;16053:24;:71::i;:::-;16258:9;16225:29;16241:12;16225:15;:29::i;:::-;:42;16221:76;;16276:21;;;;;;;;;;;;;;16221:76;16530:21;16554:38;16576:15;16554:21;:38::i;:::-;16530:62;-1:-1:-1;16764:22:164;:18;:22;;16742:16;;;:46;16738:78;;16797:19;;;;;;;;;;;;;;16738:78;17525:19;:15;:19;17498:22;:18;:22;:48;;;;:::i;:::-;17477:69;;:18;:12;:16;;3001:9:177;2881:145;17477:18:164;:69;;;17473:424;;;17671:22;17733:15;17747:1;17733:11;:15;:::i;:::-;17712:17;:36;:88;;17779:19;:15;:19;17712:88;;;17751:25;:15;:19;;17775:1;17751:25;:::i;:::-;17671:129;-1:-1:-1;17843:42:164;17671:129;17843:18;:22;;:42;:::i;:::-;17814:72;;17548:349;17473:424;17998:15;668:4:177;664:20;;;18066:15:164;661:36:177;18368:19:164;758:20:175;;;811:3;807:19;;;832:34;828:56;;804:81;798:4;791:95;929:4;913:21;;17998:86:164;;-1:-1:-1;18368:19:164;18454:17;;;;:6;:17;;;;;;18368:72;;-1:-1:-1;18454:17:164;;18450:50;;;18480:20;;;;;;;;;;;;;;18450:50;18530:4;18510:6;:17;18517:9;18510:17;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;18578:9;18606:366;;;;;;;;18654:15;18606:366;;;;;;18770:1;18606:366;;;;;;18800:10;18606:366;;;;;;18842:9;18606:366;;;;;;18877:6;18606:366;;;;18911:12;18606:366;;;;;;18948:9;18606:366;;;;;18578:404;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19051:8;:25;19060:15;19051:25;;;;;;;;;;;19101:1;19082:9;:16;;;;:20;;;;:::i;:::-;19051:52;;;;;;;-1:-1:-1;19051:52:164;;;;;;;;19143:34;;;;;;;;:12;:4;:12;;;;19164:9;;19143:34;;;;;-1:-1:-1;19143:34:164;;;;;19164:9;19143:12;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19258:41:164;;19288:10;;-1:-1:-1;19280:6:164;;-1:-1:-1;19263:15:164;;-1:-1:-1;19258:41:164;;;;;14198:5108;;;;;;;14106:5200;;;:::o;6198:2903::-;6888:11;;;;;;;6884:44;;;6908:20;;;;;;;;;;;;;;6884:44;7018:40;;;;;;7048:9;5603:23:357;7018:40:164;;;5585:42:357;6980:9:164;;;;7018:29;:21;:29;;;;5558:18:357;;7018:40:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6979:79;;-1:-1:-1;6979:79:164;-1:-1:-1;6979:79:164;7155:57;;7192:20;;;;;;;;;;;;;;7155:57;7285:58;;;;;;;;;;;;;;;;;7264:18;:79;;;;;;;7960:14;7976:4;7957:24;7947:195;;8082:10;8076:4;8069:24;8123:4;8117;8110:18;7947:195;8339:15;14565:14:97;14561:22;;;14548:36;14543:3;14539:46;14519:67;;21842:4:164;3514:22:97;3501:36;8320:34:164;8316:79;;8363:32;;;;;14565:14:97;14561:22;;;14548:36;14543:3;14539:46;14519:67;;27740:4:164;3514:22:97;3501:36;8363:32:164;;;1021:25:357;994:18;;8363:32:164;;;;;;;;8316:79;8464:370;;;;;;;;8505:16;8464:370;;;-1:-1:-1;8464:370:164;;;;;;14561:22:97;14565:14;14561:22;;;14548:36;14543:3;14539:46;14519:67;;1993:36;;1989:2;1985:45;;;8464:370:164;;;;;;8635:9;8464:370;;;;;;;;;;27740:4;3514:22:97;;;3501:36;8464:370:164;;;;;;8436:9;8464:370;;;;;;8801:15;8464:370;;;;;;;;8436:408;;;;;;;;;;;;;;;;;;;;;;;8464:370;8436:408;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8895:18;;;;;;;;8953:34;;;;;;;:4;:12;;;;;;8635:9;8436:408;8953:34;;;;-1:-1:-1;8953:34:164;;;;;8635:9;8953:12;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9043:9:164;:51;;;;9077:15;9043:51;;;;;-1:-1:-1;;;;;6198:2903:164:o;32166:1011::-;32239:18;;32381:6;;;;;;;:32;;;;;;;;:::i;:::-;;32377:89;;32436:19;;;;;;;;;;;;;;32377:89;32517:34;32554:9;32564:11;32554:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;32689:28;;32554:22;;-1:-1:-1;32721:16:164;32689:28;;;:48;32685:138;;32777:28;;32767:9;:39;;:9;;32777:28;;;32767:39;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;;;;;;;;;32753:59;;32685:138;33006:22;;;;32910:24;;33006:40;;:22;;;1624:28:177;;33006:34:164;:38;;3001:9:177;2881:145;33006:40:164;32988:58;;;;:15;:58;:::i;:::-;32956:28;:22;:11;:20;;1135:4:177;1131:17;;913:251;32956:28:164;:91;;;;;;:::i;:::-;32910:138;-1:-1:-1;33090:22:164;:18;:22;33070:44;;:17;:44;;;:100;;33152:17;33070:100;;;33117:18;33070:100;33058:112;32166:1011;-1:-1:-1;;;;;32166:1011:164:o;28849:2171::-;28915:21;28948:13;28972:17;:9;:15;;2237:66:176;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;28972:17:164;28964:26;;28948:42;;29012:14;29004:5;:22;29000:54;;;29035:19;;;;;;;;;;;;;;29000:54;29145:8;29188:7;29230:11;29120:22;29997:31;29188:7;29230:11;29997:31;:::i;:::-;29985:43;-1:-1:-1;2458:4:98;30038:9:164;30093:38;2458:4:98;30093:14:164;:38;:::i;:::-;30081:50;-1:-1:-1;30228:11:164;30250:58;30281:25;2458:4:98;30281:1:164;:25;:::i;:::-;30250:23;:58::i;:::-;30228:81;;30386:14;30403:30;30428:1;30431;30403:24;:30::i;:::-;30386:47;;30567:17;30587:37;30612:3;30617:6;30587:24;:37::i;:::-;30567:57;;30634:11;30648:43;30680:9;30648:24;:43::i;:::-;30634:57;-1:-1:-1;30746:13:164;30762:69;30634:57;30800:29;2458:4:98;30800:5:164;:29;:::i;:::-;30762:24;:69::i;:::-;30746:85;;30841:19;30863:57;30888:14;30912:6;30863:24;:57::i;:::-;30841:79;-1:-1:-1;30985:28:164;30841:79;30985:14;:28;:::i;:::-;30969:44;28849:2171;-1:-1:-1;;;;;;;;;;;;;;;28849:2171:164:o;19350:118::-;19429:32;19434:12;19448:6;19456:4;19429;:32::i;3405:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3405:28:164;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9353:4442::-;9636:22;9626:6;;;;;;;:32;;;;;;;;:::i;:::-;;9622:64;;9667:19;;;;;;;;;;;;;;9622:64;9777:24;9804:9;9814:11;9804:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;9910:15;;;;9804:22;;-1:-1:-1;9910:15:164;;;8619:17:176;;8616:32;;8613:1;8609:40;9982:44:164;-1:-1:-1;10161:18:164;:14;10178:1;10161:18;:::i;:::-;10142:15;:7;:13;;2237:66:176;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;10142:15:164;:37;;;10138:65;;10188:15;;;;;;;;;;;;;;10138:65;10279:19;10308:27;10349:9;10345:1343;;;11080:28;11097:11;11080:14;:28;:::i;:::-;11074:1;:35;;11048:22;:7;:20;;;:22::i;:::-;:62;;;;;;:::i;:::-;11047:69;:211;;11171:81;11204:19;11222:1;11204:13;;;:19;:::i;:::-;11226:18;;;;;11171;:81::i;:::-;:87;;;11047:211;;;11135:17;11047:211;11031:227;;11351:6;11339:18;;10345:1343;;;11558:12;;;;;-1:-1:-1;11596:81:164;11629:19;:13;;;11647:1;11629:19;:::i;11596:81::-;11584:93;;10345:1343;12084:1;12061:13;:24;;12056:1;12041:10;;12031:21;;;;;;;:::i;:::-;;;;;;;;:26;;:54;12027:84;;12094:17;;;;;;;;;;;;;;12027:84;12182:9;12194:30;12212:11;12194:17;:30::i;:::-;12182:42;;13197:14;13257:21;:9;:15;;;3001:9:177;2881:145;13257:21:164;13214:39;;;;;:2;:7;;;;;:39;;13222:10;;;;13234:6;;;;13242:4;;13214:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13332:18;;;;13214:64;;;-1:-1:-1;13288:20:164;;13362:1;;13332:26;;:18;;2237:66:176;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;13332:26:164;13312:17;:9;:15;;2237:66:176;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;13312:17:164;:46;;;;:::i;:::-;13311:52;;;;:::i;:::-;:57;;;;-1:-1:-1;13382:28:164;;;;;13378:52;;13419:11;;;;;;;;;;;;;;13378:52;13524:18;;;;;:32;:18;:32;13520:60;;13565:15;;;;;;;;;;;;;;13520:60;-1:-1:-1;;13757:31:164;;;;13778:10;13757:31;;;;;;-1:-1:-1;;;;;;;;;;;9353:4442:164:o;19675:2011::-;19878:22;19868:6;;;;;;;:32;;;;;;;;:::i;:::-;;19864:64;;19909:19;;;;;;;;;;;;;;19864:64;19940:14;19956:20;19978:14;19994:20;20030:45;20062:12;20030:31;:45::i;:::-;19939:136;;;;;;;;20085:9;20097:66;20118:8;20128:11;20141:8;20151:11;20097:20;:66::i;:::-;20085:78;;20174:22;20199:2;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20174:36;;5253:4:194;20224:6:164;:39;20220:1460;;20316:20;;;;20337:6;20345:4;20357:14;14565::97;14561:22;;;14548:36;14543:3;14539:46;14519:67;;27890:4:164;3514:22:97;3501:36;3001:9:177;2881:145;20357:8:164;3001:9:177;2881:145;20357:14:164;20316:73;;;;;;;;;;;;;14739:25:357;;;;14780:18;;;14773:34;;;;14823:18;;;14816:34;20373:2:164;14866:18:357;;;14859:34;14909:19;;;14902:35;;;14711:19;;20316:73:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20220:1460;;;5374:4:194;20410:6:164;:47;20406:1274;;20530:20;;;;20551:6;20559:4;20571:8;:14;2881:145:177;20406:1274:164;5495:4:194;20624:6:164;:47;20620:1060;;20743:20;;;;20764:6;20772:4;20784:8;:14;2881:145:177;20620:1060:164;5624:4:194;20837:6:164;:51;20833:847;;21168:16;21222:35;:22;;;21245:11;21222:22;:35::i;:::-;21187:32;;:70;;;;:::i;:::-;:74;;21260:1;21187:74;:::i;:::-;21168:93;-1:-1:-1;21276:20:164;;;;21297:6;21305:4;21276:83;;;;;;;;;;;;;14739:25:357;;;;14780:18;;;14773:34;21337:4:164;21325:16;;;14823:18:357;;;14816:34;21344:1:164;14866:18:357;;;14859:34;14909:19;;;14902:35;;;14711:19;;21276:83:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20890:480;20833:847;;;5721:4:194;21380:6:164;:35;21376:304;;21526:86;;;;;;;;14739:25:357;;;14780:18;;;14773:34;;;21575:11:164;21590:4;21575:19;14823:18:357;;;14816:34;21597:1:164;14866:18:357;;;14859:34;14909:19;;;14902:35;;;21526:20:164;;;;;;14711:19:357;;21526:86:164;14471:472:357;21376:304:164;21650:19;;;;;;;;;;;;;;21376:304;19765:1921;;;;;;19675:2011;;;:::o;28212:213::-;27427:9;14565:14:97;14561:22;;;14548:36;14543:3;14539:46;14519:67;;27740:4:164;3514:22:97;3501:36;28293:23:164;28407:11;:9;:11::i;:::-;28394:24;;28212:213;;;:::o;23429:3867::-;23593:22;23583:6;;;;;;;:32;;;;;;;;:::i;:::-;;23579:64;;23624:19;;;;;;;;;;;;;;23579:64;23654:34;23691:9;23701:11;23691:22;;;;;;;;:::i;:::-;;;;;;;;;;;23654:59;;23723:31;23757:34;23779:11;23757:21;:34::i;:::-;23723:68;-1:-1:-1;24102:22:164;:18;:22;;24071:26;;;:55;24067:85;;;24135:17;;;;;;;;;;;;;;24067:85;24221:29;;;;:16;:29;;;;;;;;24217:64;;;24259:22;;;;;;;;;;;;;;24217:64;24292:34;24329:21;;;:8;:21;;;;;24390:23;;24576:24;;:44;;;;-1:-1:-1;24604:16:164;;;24576:44;24572:805;;;25109:28;;;;;;;25087:19;25171:25;;:67;;25227:11;25171:67;;;25199:25;;;;;;25171:67;25151:87;;25252:44;25268:9;25279:16;25252:15;:44::i;:::-;-1:-1:-1;;;25310:29:164;;;;-1:-1:-1;;25310:16:164;:29;;-1:-1:-1;25310:29:164;;;:36;;;;25342:4;25310:36;;;23429:3867::o;24572:805::-;25445:17;25526;25445;25554:1129;25578:19;25574:1;:23;25554:1129;;;25618:22;25643:16;25660:1;25643:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;25764:32;;;:16;:32;;;;;;;;25643:19;;-1:-1:-1;25764:32:164;;25759:68;;25805:22;;;;;;;;;;;;;;25759:68;25842:23;25868:9;25878:14;25868:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;26483:17;;25868:25;;-1:-1:-1;26483:17:164;;;:31;:17;:31;:79;;;;-1:-1:-1;26542:14:164;;;;;;;;26518:19;;;:44;26483:79;26479:194;;;26594:14;;;;26644;;;;26594;;;;;-1:-1:-1;26644:14:164;;;-1:-1:-1;26479:194:164;25604:1079;;25599:3;;;;:::i;:::-;;;25554:1129;;;-1:-1:-1;26891:98:164;26907:23;;;;:63;;26961:9;26907:63;;;26933:25;;;;;;26907:63;26972:16;26891:15;:98::i;:::-;-1:-1:-1;27161:40:164;;;;;;;;;;;;;;;;-1:-1:-1;;;27161:28:164;27253:29;;;:16;:29;;;;;:36;;;;-1:-1:-1;27253:36:164;;;23429:3867::o;1122:588:97:-;1389:4;1383:11;1407:19;;;14565:14;14561:22;;;14548:36;14543:3;14539:46;14519:67;;1407:19;1489:22;;;1482:4;1473:14;;1460:60;1562:6;1555:4;1550:3;1546:14;1542:27;1592:1;1589;1582:12;1664:4;1661:1;1657:12;1651:4;1644:26;;1362:342;1122:588;;;;:::o;8478:187:176:-;8619:17;8616:32;8613:1;8609:40;;8478:187::o;36108:1977:164:-;36860:24;36901:20;:14;;;36920:1;36901:20;:::i;:::-;36860:62;;36932:26;36961:80;36988:15;37013:10;37034:4;36961:18;:80::i;:::-;36932:109;-1:-1:-1;37051:14:164;37074:19;;;37109:9;;:61;;-1:-1:-1;37155:15:164;37169:1;37155:11;:15;:::i;:::-;37122:17;;;;37150:1;;37122:25;;:17;;2237:66:176;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;37122:25:164;:29;;;;:::i;:::-;:48;;;37109:61;37105:974;;;37648:36;;;4806:1:194;37648:36:164;;:74;;-1:-1:-1;37688:34:164;;;4900:1:194;37688:34:164;37648:74;37642:154;;37750:31;;;;;;;;1021:25:357;;;994:18;;37750:31:164;848:204:357;37642:154:164;37105:974;;;37816:34;;;;37812:267;;38037:31;;;;;;;;1021:25:357;;;994:18;;38037:31:164;848:204:357;37812:267:164;36289:1796;;;36108:1977;;;;:::o;11843:3927:98:-;12373:34;12370:41;-1:-1:-1;12367:1:98;12363:49;12466:9;;;12446:18;12443:33;12440:1;12436:41;12430:48;12524:9;;;12512:10;12509:25;12506:1;12502:33;12496:40;12578:9;;;12570:6;12567:21;12564:1;12560:29;12554:36;12630:9;;;12624:4;12621:19;12618:1;12614:27;12608:34;11891:8;12739:9;;12729:135;;12781:10;12775:4;12768:24;12845:4;12839;12832:18;12729:135;13016:66;12962:34;12951:9;;;12947:50;12941:4;12937:61;12932:151;12925:159;13210:9;;;13205:3;13201:19;;;14173:31;14169:39;;14272:9;;13660:2;14264:18;;;14230:32;14226:57;14348:9;;14340:18;;14305:33;14301:58;14424:9;;14416:18;;14381:33;14377:58;14500:9;;14492:18;;14457:33;14453:58;14575:9;;14567:18;;14533:32;14529:57;14648:9;;14640:18;;14608:30;14604:55;13672:31;13668:59;;13664:67;;13656:76;;13606:32;13602:131;13598:139;;13590:148;;13540:32;13536:203;13532:211;;13524:220;;13430:349;;13809:9;;13801:18;;13797:57;;13884:9;;13876:18;;;13872:57;;13951:9;;;13947:55;;15131:10;15261:43;15257:51;15499:11;;;15426:71;15422:89;15418:97;15595:72;15591:80;15747:3;15743:11;;11843:3927::o;5293:468::-;5354:9;5574:16;5568:23;;5586:3;5559:33;5552:41;5545:49;;5535:173;;5627:10;5621:4;5614:24;5689:4;5683;5676:18;5535:173;-1:-1:-1;5737:3:98;5730:11;;;;5726:19;;5293:468::o;2809:424::-;2870:9;3063:1;3059;3055:6;3051:14;3048:1;3045:21;3042:1;3038:29;3035:145;;;3099:10;3093:4;3086:24;3161:4;3155;3148:18;3035:145;-1:-1:-1;3213:3:98;3202:9;;3198:19;;2809:424::o;8260:3448::-;8309:8;8504:21;8499:1;:26;8495:40;;8260:3448;;;:::o;8495:40::-;8841:21;8838:1;8834:29;8824:164;;8900:10;8894:4;8887:24;8965:4;8959;8952:18;8824:164;9280:7;9274:2;9269:7;;;9268:19;;-1:-1:-1;9551:8:98;9619:2;9575:29;9564:7;;;9563:41;9607:7;9563:51;9562:59;;9647:29;9643:33;;9639:37;;;10328:35;;;10383:5;;9959:2;10382:13;;;10399:32;10381:50;10451:5;;10450:13;;10449:51;;10520:5;;10519:13;;10536:34;10518:52;10590:5;;10589:13;;10588:53;;10661:5;;10660:13;;10677:35;10659:53;9965:32;9898:31;9894:35;;9949:5;;9948:13;;9947:50;;;10022:5;;;:40;;10082:5;10081:13;;;10098:35;10080:53;10151:5;;;10160:40;10151:50;11079:10;11607:49;11594:62;11669:3;:7;;;;11593:84;;;;;;-1:-1:-1;;8260:3448:98:o;7938:186::-;7997:6;8081:36;2458:4;8100:1;8089:8;8095:1;8089:5;:8::i;:::-;:12;;;;:::i;:::-;8088:28;;;;:::i;:::-;8081:6;:36::i;:::-;8074:43;;7938:186;;;;;:::o;2826:363:176:-;2891:21;3066:11;3080:16;3086:9;2237:66;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;3080:16;3170:1;3066:30;;;;;3161:11;3146:27;;;;2826:363;-1:-1:-1;;2826:363:176:o;38605:677:164:-;38755:27;38854:25;38882:7;:71;;38915:38;:25;;;38941:11;38915:25;:38::i;:::-;38882:71;;;38892:20;:4;:18;;;:20::i;:::-;38854:99;;39121:9;39131:6;39121:17;;;;;;;;:::i;:::-;;;;;;;;;;;39109:29;;39148:128;39155:18;;;;39183:20;;;;39155:18;;:50;39148:128;;39243:21;;39233:9;:32;;:9;;39243:21;;;39233:32;;;;;;:::i;:::-;;;;;;;;;;;39221:44;;39148:128;;;38788:494;38605:677;;;;;:::o;43519:319::-;43590:10;43613:14;43629:20;43651:14;43667:20;43703:44;43735:11;43703:31;:44::i;:::-;43612:135;;;;;;;;43765:66;43786:8;43796:11;43809:8;43819:11;43765:20;:66::i;:::-;43757:74;43519:319;-1:-1:-1;;;;;;43519:319:164:o;39797:3468::-;39901:20;39923:21;39946:20;39968:21;40042:16;40061:6;40042:25;;40077:23;40103:9;40113:8;40103:19;;;;;;;;:::i;:::-;;;;;;;;;40245:14;40103:19;;;;;40245:14;;;;40103:19;;-1:-1:-1;40271:11:164;;40245:22;;:14;;2237:66:176;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;40245:22:164;:37;;;40241:67;;40291:17;;;;;;;;;;;;;;40241:67;40659:20;40723:5;40738:571;40761:14;;;;40787:11;;40761:22;;:14;;2237:66:176;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;40761:22:164;40746:37;;;;;40745:53;40738:571;;;40836:17;;;;41179:15;:11;40836:17;41179:15;:::i;:::-;41163:12;:31;41159:58;;41212:5;41196:21;;41159:58;41240:9;41250:11;41240:22;;;;;;;;:::i;:::-;;;;;;;;;;;41232:30;;41287:11;41276:22;;40800:509;40738:571;;;41622:22;;;;;41646:14;;;;41622:22;;;;;41646:14;41577:20;41646:14;41688:45;;:26;:20;:11;:18;;4185:1:176;4181:17;;4060:154;41688:20:164;:24;;3001:9:177;2881:145;41688:26:164;:45;;;41671:62;;42228:9;42224:1035;;;42567:1;42540:24;:9;:22;;;:24::i;:::-;:28;;;42536:349;;;42588:26;42617:70;42650:19;42668:1;42650:13;;;:19;:::i;:::-;42672:8;42682:4;42617:18;:70::i;:::-;42739:14;;;;42755:17;;;;;42739:14;;-1:-1:-1;42755:17:164;;;-1:-1:-1;42536:349:164;;-1:-1:-1;42536:349:164;;42840:18;:23;42812:58;;42536:349;42932:11;;;;42945:14;;;;42932:11;;-1:-1:-1;42945:14:164;;;-1:-1:-1;42224:1035:164;;;42991:26;43020:70;43053:19;:13;;;43071:1;43053:19;:::i;43020:70::-;43138:11;;;;;43151:14;;;;;43214;;;;43230:17;;;43138:11;;-1:-1:-1;43151:14:164;;;;;-1:-1:-1;43214:14:164;;-1:-1:-1;43230:17:164;;-1:-1:-1;;42224:1035:164;39995:3270;;;;;;;39797:3468;;;;;:::o;44205:616::-;44400:10;44622:16;;;:23;:192;;44752:60;;;;;;16946:25:357;;;16990:34;17060:15;;;17040:18;;;17033:43;;;;17092:18;;;17085:34;;;17155:15;;;17135:18;;;17128:43;16918:19;;44752:60:164;;;;;;;;;;;;44742:71;;;;;;44622:192;;;44691:9;44702:12;44680:35;;;;;;;;17415:25:357;;;17488:34;17476:47;17471:2;17456:18;;17449:75;17403:2;17388:18;;17182:348;44680:35:164;;;;;;;;;;;;;44670:46;;;;;;44614:200;44205:616;-1:-1:-1;;;;;44205:616:164:o;5396:336:176:-;5478:19;5509:11;5523:16;5529:9;2237:66;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;5523:16;5509:30;;;;5604:3;5593:9;5589:19;5713:1;5702:9;5698:17;5693:1;5689;5678:9;5674:17;5670:25;5658:9;5647;5643:25;5640:56;5636:80;5621:95;;;5558:168;5396:336;;;;:::o;35528:361:164:-;35721:12;;;;;35788:18;;;35706:12;35788:18;;;;;;;;;;;:26;;35721:12;;;;;;;35788:26;;35721:12;;35788:26;:::i;:::-;;;;-1:-1:-1;;35853:29:164;;;;;:11;9795:55:357;;;35853:29:164;;;9777:74:357;9867:18;;;9860:34;;;35853:4:164;:11;;;;9750:18:357;;35853:29:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7263:794:176;7412:18;7553:20;7532:17;:9;:15;;2237:66;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;7532:17;:41;;;7528:71;;7582:17;;;;;;;;;;;;;;7528:71;7665:24;7679:9;7665:13;:24::i;:::-;7653:36;;7946:20;7925:17;:9;:15;;2237:66;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;7925:17;:41;;;7921:130;;7994:46;8015:24;:20;8038:1;8015:24;:::i;:::-;7994:20;;;;;:46::i;6034:710::-;6100:18;6263:14;;6294:1;6279:17;;6259:38;6100:18;6398:10;6259:38;2237:66;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;6398:10;6384:24;;6607:19;;;;6718:9;;6712:16;;6034:710;-1:-1:-1;;;6034:710:176:o;4635:313::-;4717:20;4749:11;4763:16;4769:9;2237:66;2189:20;1511:18;1508:46;-1:-1:-1;1505:1:176;1501:54;1612:22;;;1600:10;1597:38;1594:1;1590:46;1579:58;1730:22;;;1796:1;1792:17;;;1778:32;1854:1;1850:17;;;1836:32;1912:1;1908:17;;;1894:32;1970:1;1966:17;;;1952:32;2028:2;2024:18;;;2010:33;2174:36;2169:3;2165:46;2135:190;2083:260;;1283:1076;4763:16;4749:30;;;;4844:3;4833:9;4829:19;4929:1;4925;4914:9;4910:17;4906:25;4894:9;4883;4879:25;4876:56;4861:71;;;4798:144;4635:313;;;;:::o;252:184:357:-;304:77;301:1;294:88;401:4;398:1;391:15;425:4;422:1;415:15;441:402;590:2;575:18;;623:1;612:13;;602:201;;659:77;656:1;649:88;760:4;757:1;750:15;788:4;785:1;778:15;602:201;812:25;;;441:402;:::o;1057:248::-;1125:6;1133;1186:2;1174:9;1165:7;1161:23;1157:32;1154:52;;;1202:1;1199;1192:12;1154:52;-1:-1:-1;;1225:23:357;;;1295:2;1280:18;;;1267:32;;-1:-1:-1;1057:248:357:o;2511:531::-;2553:3;2591:5;2585:12;2618:6;2613:3;2606:19;2643:1;2653:162;2667:6;2664:1;2661:13;2653:162;;;2729:4;2785:13;;;2781:22;;2775:29;2757:11;;;2753:20;;2746:59;2682:12;2653:162;;;2833:6;2830:1;2827:13;2824:87;;;2899:1;2892:4;2883:6;2878:3;2874:16;2870:27;2863:38;2824:87;-1:-1:-1;2956:2:357;2944:15;2961:66;2940:88;2931:98;;;;3031:4;2927:109;;2511:531;-1:-1:-1;;2511:531:357:o;3047:220::-;3196:2;3185:9;3178:21;3159:4;3216:45;3257:2;3246:9;3242:18;3234:6;3216:45;:::i;4037:154::-;4123:42;4116:5;4112:54;4105:5;4102:65;4092:93;;4181:1;4178;4171:12;4092:93;4037:154;:::o;4196:247::-;4255:6;4308:2;4296:9;4287:7;4283:23;4279:32;4276:52;;;4324:1;4321;4314:12;4276:52;4363:9;4350:23;4382:31;4407:5;4382:31;:::i;:::-;4432:5;4196:247;-1:-1:-1;;;4196:247:357:o;4448:160::-;4513:20;;4569:13;;4562:21;4552:32;;4542:60;;4598:1;4595;4588:12;4542:60;4448:160;;;:::o;4613:344::-;4715:6;4723;4731;4784:2;4772:9;4763:7;4759:23;4755:32;4752:52;;;4800:1;4797;4790:12;4752:52;4836:9;4823:23;4813:33;;4893:2;4882:9;4878:18;4865:32;4855:42;;4916:35;4947:2;4936:9;4932:18;4916:35;:::i;:::-;4906:45;;4613:344;;;;;:::o;5638:180::-;5697:6;5750:2;5738:9;5729:7;5725:23;5721:32;5718:52;;;5766:1;5763;5756:12;5718:52;-1:-1:-1;5789:23:357;;5638:180;-1:-1:-1;5638:180:357:o;5823:332::-;5913:6;5966:2;5954:9;5945:7;5941:23;5937:32;5934:52;;;5982:1;5979;5972:12;5934:52;6021:9;6008:23;6071:34;6064:5;6060:46;6053:5;6050:57;6040:85;;6121:1;6118;6111:12;7033:347;7084:8;7094:6;7148:3;7141:4;7133:6;7129:17;7125:27;7115:55;;7166:1;7163;7156:12;7115:55;-1:-1:-1;7189:20:357;;7232:18;7221:30;;7218:50;;;7264:1;7261;7254:12;7218:50;7301:4;7293:6;7289:17;7277:29;;7353:3;7346:4;7337:6;7329;7325:19;7321:30;7318:39;7315:59;;;7370:1;7367;7360:12;7315:59;7033:347;;;;;:::o;7385:854::-;7490:6;7498;7506;7514;7522;7530;7583:3;7571:9;7562:7;7558:23;7554:33;7551:53;;;7600:1;7597;7590:12;7551:53;7636:9;7623:23;7613:33;;7665:35;7696:2;7685:9;7681:18;7665:35;:::i;:::-;7655:45;;7751:2;7740:9;7736:18;7723:32;7774:18;7815:2;7807:6;7804:14;7801:34;;;7831:1;7828;7821:12;7801:34;7870:58;7920:7;7911:6;7900:9;7896:22;7870:58;:::i;:::-;7947:8;;-1:-1:-1;7844:84:357;-1:-1:-1;8035:2:357;8020:18;;8007:32;;-1:-1:-1;8051:16:357;;;8048:36;;;8080:1;8077;8070:12;8048:36;;8119:60;8171:7;8160:8;8149:9;8145:24;8119:60;:::i;:::-;7385:854;;;;-1:-1:-1;7385:854:357;;-1:-1:-1;7385:854:357;;8198:8;;7385:854;-1:-1:-1;;;7385:854:357:o;8653:316::-;8730:6;8738;8746;8799:2;8787:9;8778:7;8774:23;8770:32;8767:52;;;8815:1;8812;8805:12;8767:52;-1:-1:-1;;8838:23:357;;;8908:2;8893:18;;8880:32;;-1:-1:-1;8959:2:357;8944:18;;;8931:32;;8653:316;-1:-1:-1;8653:316:357:o;8974:435::-;9247:10;9239:6;9235:23;9224:9;9217:42;9295:6;9290:2;9279:9;9275:18;9268:34;9338:2;9333;9322:9;9318:18;9311:30;9198:4;9358:45;9399:2;9388:9;9384:18;9376:6;9358:45;:::i;9414:184::-;9466:77;9463:1;9456:88;9563:4;9560:1;9553:15;9587:4;9584:1;9577:15;10115:184;10167:77;10164:1;10157:88;10264:4;10261:1;10254:15;10288:4;10285:1;10278:15;10304:128;10344:3;10375:1;10371:6;10368:1;10365:13;10362:39;;;10381:18;;:::i;:::-;-1:-1:-1;10417:9:357;;10304:128::o;10437:229::-;10476:4;10505:18;10573:10;;;;10543;;10595:12;;;10592:38;;;10610:18;;:::i;:::-;10647:13;;10437:229;-1:-1:-1;;;10437:229:357:o;10671:125::-;10711:4;10739:1;10736;10733:8;10730:34;;;10744:18;;:::i;:::-;-1:-1:-1;10781:9:357;;10671:125::o;10801:270::-;10840:7;10872:18;10917:2;10914:1;10910:10;10947:2;10944:1;10940:10;11003:3;10999:2;10995:12;10990:3;10987:21;10980:3;10973:11;10966:19;10962:47;10959:73;;;11012:18;;:::i;:::-;11052:13;;10801:270;-1:-1:-1;;;;10801:270:357:o;11076:272::-;11182:6;11190;11243:2;11231:9;11222:7;11218:23;11214:32;11211:52;;;11259:1;11256;11249:12;11211:52;-1:-1:-1;;11282:16:357;;11338:2;11323:18;;;11317:25;11282:16;;11317:25;;-1:-1:-1;11076:272:357:o;11353:184::-;11405:77;11402:1;11395:88;11502:4;11499:1;11492:15;11526:4;11523:1;11516:15;11542:120;11582:1;11608;11598:35;;11613:18;;:::i;:::-;-1:-1:-1;11647:9:357;;11542:120::o;11667:228::-;11707:7;11833:1;11765:66;11761:74;11758:1;11755:81;11750:1;11743:9;11736:17;11732:105;11729:131;;;11840:18;;:::i;:::-;-1:-1:-1;11880:9:357;;11667:228::o;11900:112::-;11932:1;11958;11948:35;;11963:18;;:::i;:::-;-1:-1:-1;11997:9:357;;11900:112::o;12017:246::-;12057:4;12086:34;12170:10;;;;12140;;12192:12;;;12189:38;;;12207:18;;:::i;12268:253::-;12308:3;12336:34;12397:2;12394:1;12390:10;12427:2;12424:1;12420:10;12458:3;12454:2;12450:12;12445:3;12442:21;12439:47;;;12466:18;;:::i;:::-;12502:13;;12268:253;-1:-1:-1;;;;12268:253:357:o;12526:271::-;12709:6;12701;12696:3;12683:33;12665:3;12735:16;;12760:13;;;12735:16;12526:271;-1:-1:-1;12526:271:357:o;12802:325::-;12890:6;12885:3;12878:19;12942:6;12935:5;12928:4;12923:3;12919:14;12906:43;;12994:1;12987:4;12978:6;12973:3;12969:16;12965:27;12958:38;12860:3;13116:4;13046:66;13041:2;13033:6;13029:15;13025:88;13020:3;13016:98;13012:109;13005:116;;12802:325;;;;:::o;13132:502::-;13373:2;13362:9;13355:21;13336:4;13399:61;13456:2;13445:9;13441:18;13433:6;13425;13399:61;:::i;:::-;13508:9;13500:6;13496:22;13491:2;13480:9;13476:18;13469:50;13536:49;13578:6;13570;13562;13536:49;:::i;:::-;13528:57;;;13621:6;13616:2;13605:9;13601:18;13594:34;13132:502;;;;;;;;:::o;13639:184::-;13709:6;13762:2;13750:9;13741:7;13737:23;13733:32;13730:52;;;13778:1;13775;13768:12;13730:52;-1:-1:-1;13801:16:357;;13639:184;-1:-1:-1;13639:184:357:o;13828:195::-;13866:4;13903;13900:1;13896:12;13935:4;13932:1;13928:12;13960:3;13955;13952:12;13949:38;;;13967:18;;:::i;:::-;14004:13;;;13828:195;-1:-1:-1;;;13828:195:357:o;14028:157::-;14058:1;14092:4;14089:1;14085:12;14116:3;14106:37;;14123:18;;:::i;:::-;14175:3;14168:4;14165:1;14161:12;14157:22;14152:27;;;14028:157;;;;:::o;14190:276::-;14285:6;14338:2;14326:9;14317:7;14313:23;14309:32;14306:52;;;14354:1;14351;14344:12;14306:52;14386:9;14380:16;14405:31;14430:5;14405:31;:::i;15424:195::-;15463:3;15494:66;15487:5;15484:77;15481:103;;15564:18;;:::i;:::-;-1:-1:-1;15611:1:357;15600:13;;15424:195::o;15624:655::-;15663:7;15695:66;15787:1;15784;15780:9;15815:1;15812;15808:9;15860:1;15856:2;15852:10;15849:1;15846:17;15841:2;15837;15833:11;15829:35;15826:61;;;15867:18;;:::i;:::-;15906:66;15998:1;15995;15991:9;16045:1;16041:2;16036:11;16033:1;16029:19;16024:2;16020;16016:11;16012:37;16009:63;;;16052:18;;:::i;:::-;16098:1;16095;16091:9;16081:19;;16145:1;16141:2;16136:11;16133:1;16129:19;16124:2;16120;16116:11;16112:37;16109:63;;;16152:18;;:::i;:::-;16217:1;16213:2;16208:11;16205:1;16201:19;16196:2;16192;16188:11;16184:37;16181:63;;;16224:18;;:::i;:::-;-1:-1:-1;;;16264:9:357;;;;;15624:655;-1:-1:-1;;;15624:655:357:o;16284:308::-;16323:1;16349;16339:35;;16354:18;;:::i;:::-;16471:66;16468:1;16465:73;16396:66;16393:1;16390:73;16386:153;16383:179;;;16542:18;;:::i;:::-;-1:-1:-1;16576:10:357;;16284:308::o","linkReferences":{},"immutableReferences":{"97720":[{"start":1643,"length":32},{"start":9176,"length":32}],"97723":[{"start":2439,"length":32},{"start":4347,"length":32},{"start":8062,"length":32},{"start":8196,"length":32},{"start":8719,"length":32},{"start":9018,"length":32}],"97726":[{"start":2256,"length":32},{"start":4239,"length":32},{"start":4440,"length":32},{"start":4824,"length":32},{"start":8985,"length":32},{"start":10781,"length":32},{"start":12541,"length":32},{"start":14380,"length":32},{"start":14682,"length":32},{"start":14939,"length":32},{"start":15152,"length":32}],"97730":[{"start":2205,"length":32},{"start":4585,"length":32},{"start":4730,"length":32},{"start":4975,"length":32},{"start":7789,"length":32},{"start":7855,"length":32},{"start":11501,"length":32}],"97734":[{"start":1055,"length":32},{"start":9414,"length":32},{"start":10267,"length":32}],"97738":[{"start":1702,"length":32},{"start":6175,"length":32},{"start":11247,"length":32}],"97742":[{"start":1106,"length":32},{"start":3493,"length":32},{"start":5895,"length":32},{"start":7265,"length":32},{"start":16177,"length":32}],"97746":[{"start":1291,"length":32},{"start":3103,"length":32},{"start":6240,"length":32}],"97749":[{"start":2122,"length":32},{"start":11093,"length":32}],"97753":[{"start":1478,"length":32},{"start":4687,"length":32},{"start":4877,"length":32},{"start":4919,"length":32}]}},"methodIdentifiers":{"absolutePrestate()":"8d450a95","addLocalData(uint256,uint256,uint256)":"f8f43ff6","anchorStateRegistry()":"5c0cba33","attack(uint256,bytes32)":"c55cd0c7","claimCredit(address)":"60e27464","claimData(uint256)":"c6f0308c","claimDataLen()":"8980e0cc","claims(bytes32)":"eff0f592","clockExtension()":"6b6716c0","createdAt()":"cf09e0d0","credit(address)":"d5d44d80","defend(uint256,bytes32)":"35fef567","extraData()":"609d3334","gameCreator()":"37b1b229","gameData()":"fa24f743","gameType()":"bbdc02db","getChallengerDuration(uint256)":"bd8da956","getRequiredBond(uint128)":"c395e1ca","initialize()":"8129fc1c","l1Head()":"6361506d","l2BlockNumber()":"8b85902b","l2ChainId()":"d6ae3cd5","maxClockDuration()":"dabd396d","maxGameDepth()":"fa315aa9","move(uint256,bytes32,bool)":"632247ea","resolve()":"2810e1d6","resolveClaim(uint256)":"fdffbb28","resolvedAt()":"19effeb4","resolvedSubgames(uint256)":"fe2bbeb2","rootClaim()":"bcef3b55","splitDepth()":"ec5e6308","startingBlockNumber()":"70872aa5","startingOutputRoot()":"57da950e","startingRootHash()":"25fc2ace","status()":"200d2ed2","step(uint256,bool,bytes,bytes)":"d8cc1a3c","subgames(uint256,uint256)":"2ad69aeb","version()":"54fd4d50","vm()":"3a768463","weth()":"3fc8cef3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"GameType\",\"name\":\"_gameType\",\"type\":\"uint32\"},{\"internalType\":\"Claim\",\"name\":\"_absolutePrestate\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_maxGameDepth\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_splitDepth\",\"type\":\"uint256\"},{\"internalType\":\"Duration\",\"name\":\"_clockExtension\",\"type\":\"uint64\"},{\"internalType\":\"Duration\",\"name\":\"_maxClockDuration\",\"type\":\"uint64\"},{\"internalType\":\"contract IBigStepper\",\"name\":\"_vm\",\"type\":\"address\"},{\"internalType\":\"contract IDelayedWETH\",\"name\":\"_weth\",\"type\":\"address\"},{\"internalType\":\"contract IAnchorStateRegistry\",\"name\":\"_anchorStateRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_l2ChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AnchorRootNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondTransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotDefendRootClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimAboveSplit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimAlreadyResolved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClockNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClockTimeExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateStep\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GameDepthExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GameNotInProgress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IncorrectBondAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidClockExtension\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLocalIdent\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidParent\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPrestate\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSplitDepth\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxDepthTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoCreditToClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OutOfOrderResolution\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Claim\",\"name\":\"rootClaim\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedRootClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidStep\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"parentIndex\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"Claim\",\"name\":\"claim\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimant\",\"type\":\"address\"}],\"name\":\"Move\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"enum GameStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"Resolved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"absolutePrestate\",\"outputs\":[{\"internalType\":\"Claim\",\"name\":\"absolutePrestate_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_ident\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_execLeafIdx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_partOffset\",\"type\":\"uint256\"}],\"name\":\"addLocalData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"anchorStateRegistry\",\"outputs\":[{\"internalType\":\"contract IAnchorStateRegistry\",\"name\":\"registry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_parentIndex\",\"type\":\"uint256\"},{\"internalType\":\"Claim\",\"name\":\"_claim\",\"type\":\"bytes32\"}],\"name\":\"attack\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"claimCredit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"claimData\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"parentIndex\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"counteredBy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"claimant\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"bond\",\"type\":\"uint128\"},{\"internalType\":\"Claim\",\"name\":\"claim\",\"type\":\"bytes32\"},{\"internalType\":\"Position\",\"name\":\"position\",\"type\":\"uint128\"},{\"internalType\":\"Clock\",\"name\":\"clock\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimDataLen\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"len_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ClaimHash\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"claims\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clockExtension\",\"outputs\":[{\"internalType\":\"Duration\",\"name\":\"clockExtension_\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createdAt\",\"outputs\":[{\"internalType\":\"Timestamp\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"credit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_parentIndex\",\"type\":\"uint256\"},{\"internalType\":\"Claim\",\"name\":\"_claim\",\"type\":\"bytes32\"}],\"name\":\"defend\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"extraData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"extraData_\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameData\",\"outputs\":[{\"internalType\":\"GameType\",\"name\":\"gameType_\",\"type\":\"uint32\"},{\"internalType\":\"Claim\",\"name\":\"rootClaim_\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"extraData_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameType\",\"outputs\":[{\"internalType\":\"GameType\",\"name\":\"gameType_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_claimIndex\",\"type\":\"uint256\"}],\"name\":\"getChallengerDuration\",\"outputs\":[{\"internalType\":\"Duration\",\"name\":\"duration_\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Position\",\"name\":\"_position\",\"type\":\"uint128\"}],\"name\":\"getRequiredBond\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"requiredBond_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1Head\",\"outputs\":[{\"internalType\":\"Hash\",\"name\":\"l1Head_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2BlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"l2BlockNumber_\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2ChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"l2ChainId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxClockDuration\",\"outputs\":[{\"internalType\":\"Duration\",\"name\":\"maxClockDuration_\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxGameDepth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxGameDepth_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_challengeIndex\",\"type\":\"uint256\"},{\"internalType\":\"Claim\",\"name\":\"_claim\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"_isAttack\",\"type\":\"bool\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"enum GameStatus\",\"name\":\"status_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_claimIndex\",\"type\":\"uint256\"}],\"name\":\"resolveClaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resolvedAt\",\"outputs\":[{\"internalType\":\"Timestamp\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"resolvedSubgames\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rootClaim\",\"outputs\":[{\"internalType\":\"Claim\",\"name\":\"rootClaim_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"splitDepth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"splitDepth_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startingBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startingBlockNumber_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startingOutputRoot\",\"outputs\":[{\"internalType\":\"Hash\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"l2BlockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startingRootHash\",\"outputs\":[{\"internalType\":\"Hash\",\"name\":\"startingRootHash_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"status\",\"outputs\":[{\"internalType\":\"enum GameStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_claimIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_isAttack\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"_stateData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"step\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"subgames\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract IBigStepper\",\"name\":\"vm_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"weth\",\"outputs\":[{\"internalType\":\"contract IDelayedWETH\",\"name\":\"weth_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"UnexpectedRootClaim(bytes32)\":[{\"params\":{\"rootClaim\":\"is the claim that was unexpected.\"}}]},\"kind\":\"dev\",\"methods\":{\"addLocalData(uint256,uint256,uint256)\":{\"params\":{\"_execLeafIdx\":\"The index of the leaf claim in an execution subgame that requires the local data for a step.\",\"_ident\":\"The local identifier of the data to post.\",\"_partOffset\":\"The offset of the data to post.\"}},\"attack(uint256,bytes32)\":{\"params\":{\"_claim\":\"The `Claim` at the relative attack position.\",\"_parentIndex\":\"Index of the `Claim` to attack in the `claimData` array.\"}},\"claimCredit(address)\":{\"params\":{\"_recipient\":\"The owner and recipient of the credit.\"}},\"constructor\":{\"params\":{\"_absolutePrestate\":\"The absolute prestate of the instruction trace.\",\"_anchorStateRegistry\":\"The contract that stores the anchor state for each game type.\",\"_clockExtension\":\"The clock extension to perform when the remaining duration is less than the extension.\",\"_gameType\":\"The type ID of the game.\",\"_l2ChainId\":\"Chain ID of the L2 network this contract argues about.\",\"_maxClockDuration\":\"The maximum amount of time that may accumulate on a team's chess clock.\",\"_maxGameDepth\":\"The maximum depth of bisection.\",\"_splitDepth\":\"The final depth of the output bisection portion of the game.\",\"_vm\":\"An onchain VM that performs single instruction steps on an FPP trace.\",\"_weth\":\"WETH contract for holding ETH.\"}},\"defend(uint256,bytes32)\":{\"params\":{\"_claim\":\"The `Claim` at the relative defense position.\",\"_parentIndex\":\"Index of the claim to defend in the `claimData` array.\"}},\"extraData()\":{\"details\":\"`clones-with-immutable-args` argument #4\",\"returns\":{\"extraData_\":\"Any extra data supplied to the dispute game contract by the creator.\"}},\"gameCreator()\":{\"details\":\"`clones-with-immutable-args` argument #1\",\"returns\":{\"creator_\":\"The creator of the dispute game.\"}},\"gameData()\":{\"returns\":{\"extraData_\":\"Any extra data supplied to the dispute game contract by the creator.\",\"gameType_\":\"The type of proof system being used.\",\"rootClaim_\":\"The root claim of the DisputeGame.\"}},\"gameType()\":{\"details\":\"The reference impl should be entirely different depending on the type (fault, validity)      i.e. The game type should indicate the security model.\",\"returns\":{\"gameType_\":\"The type of proof system being used.\"}},\"getChallengerDuration(uint256)\":{\"params\":{\"_claimIndex\":\"The index of the subgame root claim.\"},\"returns\":{\"duration_\":\"The time elapsed on the potential challenger to `_claimIndex`'s chess clock.\"}},\"getRequiredBond(uint128)\":{\"params\":{\"_position\":\"The position of the bonded interaction.\"},\"returns\":{\"requiredBond_\":\"The required ETH bond for the given move, in wei.\"}},\"initialize()\":{\"details\":\"This function may only be called once.\"},\"l1Head()\":{\"details\":\"`clones-with-immutable-args` argument #3\",\"returns\":{\"l1Head_\":\"The parent hash of the L1 block when the dispute game was created.\"}},\"move(uint256,bytes32,bool)\":{\"params\":{\"_challengeIndex\":\"The index of the claim being moved against.\",\"_claim\":\"The claim at the next logical position in the game.\",\"_isAttack\":\"Whether or not the move is an attack or defense.\"}},\"resolve()\":{\"details\":\"May only be called if the `status` is `IN_PROGRESS`.\",\"returns\":{\"status_\":\"The status of the game after resolution.\"}},\"resolveClaim(uint256)\":{\"details\":\"This function must be called bottom-up in the DAG      A subgame is a tree of claims that has a maximum depth of 1.      A subgame root claims is valid if, and only if, all of its child claims are invalid.      At the deepest level in the DAG, a claim is invalid if there's a successful step against it.\",\"params\":{\"_claimIndex\":\"The index of the subgame root claim to resolve.\"}},\"rootClaim()\":{\"details\":\"`clones-with-immutable-args` argument #2\",\"returns\":{\"rootClaim_\":\"The root claim of the DisputeGame.\"}},\"step(uint256,bool,bytes,bytes)\":{\"details\":\"This function should point to a fault proof processor in order to execute      a step in the fault proof program on-chain. The interface of the fault proof      processor contract should adhere to the `IBigStepper` interface.\",\"params\":{\"_claimIndex\":\"The index of the challenged claim within `claimData`.\",\"_isAttack\":\"Whether or not the step is an attack or a defense.\",\"_proof\":\"Proof to access memory nodes in the VM's merkle state tree.\",\"_stateData\":\"The stateData of the step is the preimage of the claim at the given        prestate, which is at `_stateIndex` if the move is an attack and `_claimIndex` if        the move is a defense. If the step is an attack on the first instruction, it is        the absolute prestate of the fault proof VM.\"}}},\"stateVariables\":{\"status\":{\"return\":\"The current status of the game.\",\"returns\":{\"_0\":\"The current status of the game.\"}},\"version\":{\"custom:semver\":\"0.17.0\"}},\"title\":\"FaultDisputeGame\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyInitialized()\":[{\"notice\":\"Thrown when a dispute game has already been initialized.\"}],\"AnchorRootNotFound()\":[{\"notice\":\"Thrown when an anchor root is not found for a given game type.\"}],\"BondTransferFailed()\":[{\"notice\":\"Thrown when the transfer of credit to a recipient account reverts.\"}],\"CannotDefendRootClaim()\":[{\"notice\":\"Thrown when a defense against the root claim is attempted.\"}],\"ClaimAboveSplit()\":[{\"notice\":\"Thrown when a parent output root is attempted to be found on a claim that is in         the output root portion of the tree.\"}],\"ClaimAlreadyExists()\":[{\"notice\":\"Thrown when a claim is attempting to be made that already exists.\"}],\"ClaimAlreadyResolved()\":[{\"notice\":\"Thrown when resolving a claim that has already been resolved.\"}],\"ClockNotExpired()\":[{\"notice\":\"Thrown when the game is attempted to be resolved too early.\"}],\"ClockTimeExceeded()\":[{\"notice\":\"Thrown when a move is attempted to be made after the clock has timed out.\"}],\"DuplicateStep()\":[{\"notice\":\"Thrown when trying to step against a claim for a second time, after it has already been countered with         an instruction step.\"}],\"GameDepthExceeded()\":[{\"notice\":\"Thrown when a move is attempted to be made at or greater than the max depth of the game.\"}],\"GameNotInProgress()\":[{\"notice\":\"Thrown when an action that requires the game to be `IN_PROGRESS` is invoked when         the game is not in progress.\"}],\"IncorrectBondAmount()\":[{\"notice\":\"Thrown when a supplied bond is not equal to the required bond amount to cover the cost of the interaction.\"}],\"InvalidClockExtension()\":[{\"notice\":\"Thrown on deployment if the max clock duration is less than or equal to the clock extension.\"}],\"InvalidLocalIdent()\":[{\"notice\":\"Thrown when an invalid local identifier is passed to the `addLocalData` function.\"}],\"InvalidParent()\":[{\"notice\":\"Thrown when a step is attempted above the maximum game depth.\"}],\"InvalidPrestate()\":[{\"notice\":\"Thrown when an invalid prestate is supplied to `step`.\"}],\"InvalidSplitDepth()\":[{\"notice\":\"Thrown on deployment if the split depth is greater than or equal to the max         depth of the game.\"}],\"MaxDepthTooLarge()\":[{\"notice\":\"Thrown on deployment if the max depth is greater than `LibPosition.`\"}],\"NoCreditToClaim()\":[{\"notice\":\"Thrown when a credit claim is attempted for a value of 0.\"}],\"OutOfOrderResolution()\":[{\"notice\":\"Thrown when resolving claims out of order.\"}],\"UnexpectedRootClaim(bytes32)\":[{\"notice\":\"Thrown when the root claim has an unexpected VM status.         Some games can only start with a root-claim with a specific status.\"}],\"ValidStep()\":[{\"notice\":\"Thrown when a step is made that computes the expected post state correctly.\"}]},\"events\":{\"Move(uint256,bytes32,address)\":{\"notice\":\"Emitted when a new claim is added to the DAG by `claimant`\"},\"Resolved(uint8)\":{\"notice\":\"Emitted when the game is resolved.\"}},\"kind\":\"user\",\"methods\":{\"absolutePrestate()\":{\"notice\":\"Returns the absolute prestate of the instruction trace.\"},\"addLocalData(uint256,uint256,uint256)\":{\"notice\":\"Posts the requested local data to the VM's `PreimageOralce`.\"},\"anchorStateRegistry()\":{\"notice\":\"Returns the anchor state registry contract.\"},\"attack(uint256,bytes32)\":{\"notice\":\"Attack a disagreed upon `Claim`.\"},\"claimCredit(address)\":{\"notice\":\"Claim the credit belonging to the recipient address.\"},\"claimData(uint256)\":{\"notice\":\"An append-only array of all claims made during the dispute game.\"},\"claimDataLen()\":{\"notice\":\"Returns the length of the `claimData` array.\"},\"claims(bytes32)\":{\"notice\":\"A mapping to allow for constant-time lookups of existing claims.\"},\"clockExtension()\":{\"notice\":\"Returns the clock extension constant.\"},\"createdAt()\":{\"notice\":\"The starting timestamp of the game\"},\"credit(address)\":{\"notice\":\"Credited balances for winning participants.\"},\"defend(uint256,bytes32)\":{\"notice\":\"Defend an agreed upon `Claim`.\"},\"extraData()\":{\"notice\":\"Getter for the extra data.\"},\"gameCreator()\":{\"notice\":\"Getter for the creator of the dispute game.\"},\"gameData()\":{\"notice\":\"A compliant implementation of this interface should return the components of the         game UUID's preimage provided in the cwia payload. The preimage of the UUID is         constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes         concatenation.\"},\"gameType()\":{\"notice\":\"Getter for the game type.\"},\"getChallengerDuration(uint256)\":{\"notice\":\"Returns the amount of time elapsed on the potential challenger to `_claimIndex`'s chess clock. Maxes         out at `MAX_CLOCK_DURATION`.\"},\"getRequiredBond(uint128)\":{\"notice\":\"Returns the required bond for a given move kind.\"},\"initialize()\":{\"notice\":\"Initializes the contract.\"},\"l1Head()\":{\"notice\":\"Getter for the parent hash of the L1 block when the dispute game was created.\"},\"l2BlockNumber()\":{\"notice\":\"The l2BlockNumber of the disputed output root in the `L2OutputOracle`.\"},\"l2ChainId()\":{\"notice\":\"Returns the chain ID of the L2 network this contract argues about.\"},\"maxClockDuration()\":{\"notice\":\"Returns the max clock duration.\"},\"maxGameDepth()\":{\"notice\":\"Returns the max game depth.\"},\"move(uint256,bytes32,bool)\":{\"notice\":\"Generic move function, used for both `attack` and `defend` moves.\"},\"resolve()\":{\"notice\":\"If all necessary information has been gathered, this function should mark the game         status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of         the resolved game. It is at this stage that the bonds should be awarded to the         necessary parties.\"},\"resolveClaim(uint256)\":{\"notice\":\"Resolves the subgame rooted at the given claim index.\"},\"resolvedAt()\":{\"notice\":\"The timestamp of the game's global resolution.\"},\"resolvedSubgames(uint256)\":{\"notice\":\"An interneal mapping of resolved subgames rooted at a claim index.\"},\"rootClaim()\":{\"notice\":\"Getter for the root claim.\"},\"splitDepth()\":{\"notice\":\"Returns the split depth.\"},\"startingBlockNumber()\":{\"notice\":\"Only the starting block number of the game.\"},\"startingOutputRoot()\":{\"notice\":\"The latest finalized output root, serving as the anchor for output bisection.\"},\"startingRootHash()\":{\"notice\":\"Only the starting output root of the game.\"},\"status()\":{\"notice\":\"Returns the current status of the game.\"},\"step(uint256,bool,bytes,bytes)\":{\"notice\":\"Perform an instruction step via an on-chain fault proof processor.\"},\"subgames(uint256,uint256)\":{\"notice\":\"A mapping of subgames rooted at a claim index to other claim indices in the subgame.\"},\"version()\":{\"notice\":\"Semantic version.\"},\"vm()\":{\"notice\":\"Returns the address of the VM.\"},\"weth()\":{\"notice\":\"Returns the WETH contract for holding ETH.\"}},\"notice\":\"An implementation of the `IFaultDisputeGame` interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/FaultDisputeGame.sol\":\"FaultDisputeGame\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/solady/src/utils/Clone.sol\":{\"keccak256\":\"0xb408dc90294bacd394e59c83619e7dc76f45c83ad6f8e923eb07d3a5bab89f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3abeb55ad062c4b29b5b5edab6167de36615c51621ef71ef3ddfd9f6735a93b\",\"dweb:/ipfs/Qmboh4zX6ZgFVhetUhZGJ14kKXiaGeB9bW3Vseg2MLMGHW\"]},\"lib/solady/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x1fbad6f61bd3e5875e6b0060b67626cb1ccb9542c0da368a44eb3870c9a9e160\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5189fcd5ecff0f449475cf3183e9d6b509cd1221555aba6cd76c70b097cc8260\",\"dweb:/ipfs/Qmbt34Kf5h2DeYzmqXtg3jprYxDCFdENtf41NgCdcARA7u\"]},\"src/cannon/interfaces/IPreimageOracle.sol\":{\"keccak256\":\"0x7bda0156571b468cf0e22321945655f2dacd7082f440f742aa4612b36b388a9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ba53777c65987bc20faa7731476c779e7794a58bafb40191a25275a05e3f8af\",\"dweb:/ipfs/QmbxQwE2BC9aabTruDqkd2CLojwq7G9i2rkWKv46Wucae1\"]},\"src/dispute/FaultDisputeGame.sol\":{\"keccak256\":\"0x0d90358576f7b5c14cfe338937ed4fea7d945f9a1b5e68111196310554b485b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d6d4ce62af4902e17af3a70b6c4688be4d148498c841af9c8ead2c076794e6e\",\"dweb:/ipfs/QmS2ebpEDxbhnUwXYnKEChS2zVpFvfdnJr3AbfDSQovBAN\"]},\"src/dispute/interfaces/IAnchorStateRegistry.sol\":{\"keccak256\":\"0x5fd05f2482d149668897e54f92d556a0c3512aa35b51ba800ef15d18dd490cb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://689d621bc5c43a41d5232980f0eceecd7a3d8aa99438dfd9fed5f73d5ecd2887\",\"dweb:/ipfs/QmQ5jw54TkdxLuLFti6JZown54rGQ3m3Q93pvnVU1j1HRj\"]},\"src/dispute/interfaces/IBigStepper.sol\":{\"keccak256\":\"0xc92ee3069677b903826c83d5b4e46e3be462f9ccf1d95e72a12b1052e3451f0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f93692bd3c8d9533ab8024ce2df6d880328826d1a92fdb9cf45301e2d0c65884\",\"dweb:/ipfs/QmUcmbjTw9gnCUNasgmQjVbSgcCPKZ1FQyA31dH4k5Nc75\"]},\"src/dispute/interfaces/IDelayedWETH.sol\":{\"keccak256\":\"0x0bb035e9bbb411696841ea292eeed6d4463c3c3eee7d6c5d8e38a101e8a4ff04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0477cf2c137392d35081f23bfd7f3565881767dcb1489a62e7e80b3c178cfce8\",\"dweb:/ipfs/QmTjALjrHg5rvhjfCKPmXLTgkMNneECWaqoarunSoVS37G\"]},\"src/dispute/interfaces/IDisputeGame.sol\":{\"keccak256\":\"0xe2611453d5cc05f8aa30dc0e5e15ee5ae29fd3eb55a2c034424250baebf12f9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://274e00fbcea3b8455bbaa042130bf1f7a5b2b769f28ad57afbf9fabfd74a757a\",\"dweb:/ipfs/QmRKQTfYdMjQYVbuZhdXts1d752eUq8RwrjqqwV5XRYLi6\"]},\"src/dispute/interfaces/IDisputeGameFactory.sol\":{\"keccak256\":\"0x204d89d38d4dc0db40fbf898d95e639ac5608810a5a5506a3d80d71177648bda\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71e5c0ff04f409f30ca4f8ebfae1592c6ca495e315b059f969d11812e6e84dbd\",\"dweb:/ipfs/QmaNKkhkJv7qHzX6bKB3LjpWBupfMPLhoATUGx1HRTLtXh\"]},\"src/dispute/interfaces/IFaultDisputeGame.sol\":{\"keccak256\":\"0xe2f3acb614ecffd6e0fee98443cf58fa95c1209f4ee43e723781733823da3437\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4cffbd5b53e6459aad472249e629ae5f52c725b6f6828050df019a18ab50278\",\"dweb:/ipfs/QmTC1GgzbwSyqd9fbJz2veqHnbKJfAK5tBr5jUZcC5N271\"]},\"src/dispute/interfaces/IInitializable.sol\":{\"keccak256\":\"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5\",\"dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj\"]},\"src/dispute/interfaces/IWETH.sol\":{\"keccak256\":\"0x3858f6c0ce3ec7978b1ea1772484c25aec7c8c480ceaf18239f726fdd06fdd1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b72cf3bc31324409480e9ae6eb3e2654da8dff3cbf9f2136b19fe714293b3766\",\"dweb:/ipfs/QmTW3JiFUo8pYhDbthPH8ZSp5f1nmdga4CSzo4YdEzppnM\"]},\"src/dispute/lib/LibGameId.sol\":{\"keccak256\":\"0x9a9f30500da6eb7eeaa7193515dc5e45dc479f09ae7d522a07283c0fb5f4bfa6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be113d8198d5822385de3d6ff3d7b3e8241993484aa95604ffaf38c2d33f40e0\",\"dweb:/ipfs/QmY9mHC52fqc4gAFYCGobNyuP4TqugQgs8o1kTF33t17Hc\"]},\"src/dispute/lib/LibHashing.sol\":{\"keccak256\":\"0x5a072cd028094eee55acb84ed8d08d7422b1fb46658b7e043e916781530a383b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b67e54f1318f1fd67b28b16c6861a56e27217c26a12aaea5c446e2ec53143920\",\"dweb:/ipfs/QmVLSTP3PwXzRkR3A4qV9fjZhca9v8J1EnEYuVGUsSirAq\"]},\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0xf7ceb26f0ac7067ff8a43f263451050eef6fba2029eafb83d3cbe35224d894a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bb403b0d707a8e2e3780a19185b918bfe907ca2d1b939ea74ae095a5cdf3b48\",\"dweb:/ipfs/QmYFzkmF8TRomp1cBEbTsKxiEnqLnX6SvSh4y3rVa84pBR\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x9b61b15f5edfac1e6528aec79c1be6ac712d5f6a62140db87ed749e41a46563f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24ef4ecee91638e278886888192b7d2b1811ab99f4e90a06817a4b2651720046\",\"dweb:/ipfs/QmdisoBv1mE9jDv6jvpcbvKhdmJZMMjQmATrEYfBQQrXtZ\"]},\"src/libraries/DisputeErrors.sol\":{\"keccak256\":\"0x869bec0d79d97f2d0a00b1e70bf1e6955a2be585521e0084602e54455c0a6937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a235c6349437cd2ade72909287404e2993c1c4bd356707299239c71fa3bf780e\",\"dweb:/ipfs/QmcFSh6PWJ5sNg1CeoRyF9EnV8APWDz1kYP98v6ooGxc71\"]},\"src/libraries/DisputeTypes.sol\":{\"keccak256\":\"0xae3d053cf40b3e47669b89438524fec4eb571a78be296cc7e7ba23025b3bdf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a2b90604718ad29d19a8f21d45a5f8c6188320781fdb7102b3fccadae549961\",\"dweb:/ipfs/QmUBTXgRFG7PvoCBJsXmgi2sZPZFPQQZTptQ91LL7tC2xQ\"]},\"src/libraries/Types.sol\":{\"keccak256\":\"0x75900d651301940d24c00d14f0b3b6cbd6dcf379173ceaa31d9bf5be934a9aa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c2632c5bf4fa3982391c32110eec9fa07917b483b2442cbaf18bdde5bdb24e\",\"dweb:/ipfs/QmSUs6Amkeootf5gKGbKi4mJpvhN2U8i1ED6ef2dskV5xc\"]},\"src/universal/ISemver.sol\":{\"keccak256\":\"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a\",\"dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"GameType","name":"_gameType","type":"uint32"},{"internalType":"Claim","name":"_absolutePrestate","type":"bytes32"},{"internalType":"uint256","name":"_maxGameDepth","type":"uint256"},{"internalType":"uint256","name":"_splitDepth","type":"uint256"},{"internalType":"Duration","name":"_clockExtension","type":"uint64"},{"internalType":"Duration","name":"_maxClockDuration","type":"uint64"},{"internalType":"contract IBigStepper","name":"_vm","type":"address"},{"internalType":"contract IDelayedWETH","name":"_weth","type":"address"},{"internalType":"contract IAnchorStateRegistry","name":"_anchorStateRegistry","type":"address"},{"internalType":"uint256","name":"_l2ChainId","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AnchorRootNotFound"},{"inputs":[],"type":"error","name":"BondTransferFailed"},{"inputs":[],"type":"error","name":"CannotDefendRootClaim"},{"inputs":[],"type":"error","name":"ClaimAboveSplit"},{"inputs":[],"type":"error","name":"ClaimAlreadyExists"},{"inputs":[],"type":"error","name":"ClaimAlreadyResolved"},{"inputs":[],"type":"error","name":"ClockNotExpired"},{"inputs":[],"type":"error","name":"ClockTimeExceeded"},{"inputs":[],"type":"error","name":"DuplicateStep"},{"inputs":[],"type":"error","name":"GameDepthExceeded"},{"inputs":[],"type":"error","name":"GameNotInProgress"},{"inputs":[],"type":"error","name":"IncorrectBondAmount"},{"inputs":[],"type":"error","name":"InvalidClockExtension"},{"inputs":[],"type":"error","name":"InvalidLocalIdent"},{"inputs":[],"type":"error","name":"InvalidParent"},{"inputs":[],"type":"error","name":"InvalidPrestate"},{"inputs":[],"type":"error","name":"InvalidSplitDepth"},{"inputs":[],"type":"error","name":"MaxDepthTooLarge"},{"inputs":[],"type":"error","name":"NoCreditToClaim"},{"inputs":[],"type":"error","name":"OutOfOrderResolution"},{"inputs":[{"internalType":"Claim","name":"rootClaim","type":"bytes32"}],"type":"error","name":"UnexpectedRootClaim"},{"inputs":[],"type":"error","name":"ValidStep"},{"inputs":[{"internalType":"uint256","name":"parentIndex","type":"uint256","indexed":true},{"internalType":"Claim","name":"claim","type":"bytes32","indexed":true},{"internalType":"address","name":"claimant","type":"address","indexed":true}],"type":"event","name":"Move","anonymous":false},{"inputs":[{"internalType":"enum GameStatus","name":"status","type":"uint8","indexed":true}],"type":"event","name":"Resolved","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"absolutePrestate","outputs":[{"internalType":"Claim","name":"absolutePrestate_","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_ident","type":"uint256"},{"internalType":"uint256","name":"_execLeafIdx","type":"uint256"},{"internalType":"uint256","name":"_partOffset","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addLocalData"},{"inputs":[],"stateMutability":"view","type":"function","name":"anchorStateRegistry","outputs":[{"internalType":"contract IAnchorStateRegistry","name":"registry_","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_parentIndex","type":"uint256"},{"internalType":"Claim","name":"_claim","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"attack"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"claimCredit"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"claimData","outputs":[{"internalType":"uint32","name":"parentIndex","type":"uint32"},{"internalType":"address","name":"counteredBy","type":"address"},{"internalType":"address","name":"claimant","type":"address"},{"internalType":"uint128","name":"bond","type":"uint128"},{"internalType":"Claim","name":"claim","type":"bytes32"},{"internalType":"Position","name":"position","type":"uint128"},{"internalType":"Clock","name":"clock","type":"uint128"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"claimDataLen","outputs":[{"internalType":"uint256","name":"len_","type":"uint256"}]},{"inputs":[{"internalType":"ClaimHash","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"claims","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clockExtension","outputs":[{"internalType":"Duration","name":"clockExtension_","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"createdAt","outputs":[{"internalType":"Timestamp","name":"","type":"uint64"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"credit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_parentIndex","type":"uint256"},{"internalType":"Claim","name":"_claim","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"defend"},{"inputs":[],"stateMutability":"pure","type":"function","name":"extraData","outputs":[{"internalType":"bytes","name":"extraData_","type":"bytes"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"gameCreator","outputs":[{"internalType":"address","name":"creator_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gameData","outputs":[{"internalType":"GameType","name":"gameType_","type":"uint32"},{"internalType":"Claim","name":"rootClaim_","type":"bytes32"},{"internalType":"bytes","name":"extraData_","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gameType","outputs":[{"internalType":"GameType","name":"gameType_","type":"uint32"}]},{"inputs":[{"internalType":"uint256","name":"_claimIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"getChallengerDuration","outputs":[{"internalType":"Duration","name":"duration_","type":"uint64"}]},{"inputs":[{"internalType":"Position","name":"_position","type":"uint128"}],"stateMutability":"view","type":"function","name":"getRequiredBond","outputs":[{"internalType":"uint256","name":"requiredBond_","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"pure","type":"function","name":"l1Head","outputs":[{"internalType":"Hash","name":"l1Head_","type":"bytes32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"l2BlockNumber","outputs":[{"internalType":"uint256","name":"l2BlockNumber_","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l2ChainId","outputs":[{"internalType":"uint256","name":"l2ChainId_","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxClockDuration","outputs":[{"internalType":"Duration","name":"maxClockDuration_","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxGameDepth","outputs":[{"internalType":"uint256","name":"maxGameDepth_","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_challengeIndex","type":"uint256"},{"internalType":"Claim","name":"_claim","type":"bytes32"},{"internalType":"bool","name":"_isAttack","type":"bool"}],"stateMutability":"payable","type":"function","name":"move"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resolve","outputs":[{"internalType":"enum GameStatus","name":"status_","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_claimIndex","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"resolveClaim"},{"inputs":[],"stateMutability":"view","type":"function","name":"resolvedAt","outputs":[{"internalType":"Timestamp","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"resolvedSubgames","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"rootClaim","outputs":[{"internalType":"Claim","name":"rootClaim_","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"splitDepth","outputs":[{"internalType":"uint256","name":"splitDepth_","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"startingBlockNumber","outputs":[{"internalType":"uint256","name":"startingBlockNumber_","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"startingOutputRoot","outputs":[{"internalType":"Hash","name":"root","type":"bytes32"},{"internalType":"uint256","name":"l2BlockNumber","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"startingRootHash","outputs":[{"internalType":"Hash","name":"startingRootHash_","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"status","outputs":[{"internalType":"enum GameStatus","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_claimIndex","type":"uint256"},{"internalType":"bool","name":"_isAttack","type":"bool"},{"internalType":"bytes","name":"_stateData","type":"bytes"},{"internalType":"bytes","name":"_proof","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"step"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"subgames","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"vm","outputs":[{"internalType":"contract IBigStepper","name":"vm_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"weth","outputs":[{"internalType":"contract IDelayedWETH","name":"weth_","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"addLocalData(uint256,uint256,uint256)":{"params":{"_execLeafIdx":"The index of the leaf claim in an execution subgame that requires the local data for a step.","_ident":"The local identifier of the data to post.","_partOffset":"The offset of the data to post."}},"attack(uint256,bytes32)":{"params":{"_claim":"The `Claim` at the relative attack position.","_parentIndex":"Index of the `Claim` to attack in the `claimData` array."}},"claimCredit(address)":{"params":{"_recipient":"The owner and recipient of the credit."}},"constructor":{"params":{"_absolutePrestate":"The absolute prestate of the instruction trace.","_anchorStateRegistry":"The contract that stores the anchor state for each game type.","_clockExtension":"The clock extension to perform when the remaining duration is less than the extension.","_gameType":"The type ID of the game.","_l2ChainId":"Chain ID of the L2 network this contract argues about.","_maxClockDuration":"The maximum amount of time that may accumulate on a team's chess clock.","_maxGameDepth":"The maximum depth of bisection.","_splitDepth":"The final depth of the output bisection portion of the game.","_vm":"An onchain VM that performs single instruction steps on an FPP trace.","_weth":"WETH contract for holding ETH."}},"defend(uint256,bytes32)":{"params":{"_claim":"The `Claim` at the relative defense position.","_parentIndex":"Index of the claim to defend in the `claimData` array."}},"extraData()":{"details":"`clones-with-immutable-args` argument #4","returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator."}},"gameCreator()":{"details":"`clones-with-immutable-args` argument #1","returns":{"creator_":"The creator of the dispute game."}},"gameData()":{"returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator.","gameType_":"The type of proof system being used.","rootClaim_":"The root claim of the DisputeGame."}},"gameType()":{"details":"The reference impl should be entirely different depending on the type (fault, validity)      i.e. The game type should indicate the security model.","returns":{"gameType_":"The type of proof system being used."}},"getChallengerDuration(uint256)":{"params":{"_claimIndex":"The index of the subgame root claim."},"returns":{"duration_":"The time elapsed on the potential challenger to `_claimIndex`'s chess clock."}},"getRequiredBond(uint128)":{"params":{"_position":"The position of the bonded interaction."},"returns":{"requiredBond_":"The required ETH bond for the given move, in wei."}},"initialize()":{"details":"This function may only be called once."},"l1Head()":{"details":"`clones-with-immutable-args` argument #3","returns":{"l1Head_":"The parent hash of the L1 block when the dispute game was created."}},"move(uint256,bytes32,bool)":{"params":{"_challengeIndex":"The index of the claim being moved against.","_claim":"The claim at the next logical position in the game.","_isAttack":"Whether or not the move is an attack or defense."}},"resolve()":{"details":"May only be called if the `status` is `IN_PROGRESS`.","returns":{"status_":"The status of the game after resolution."}},"resolveClaim(uint256)":{"details":"This function must be called bottom-up in the DAG      A subgame is a tree of claims that has a maximum depth of 1.      A subgame root claims is valid if, and only if, all of its child claims are invalid.      At the deepest level in the DAG, a claim is invalid if there's a successful step against it.","params":{"_claimIndex":"The index of the subgame root claim to resolve."}},"rootClaim()":{"details":"`clones-with-immutable-args` argument #2","returns":{"rootClaim_":"The root claim of the DisputeGame."}},"step(uint256,bool,bytes,bytes)":{"details":"This function should point to a fault proof processor in order to execute      a step in the fault proof program on-chain. The interface of the fault proof      processor contract should adhere to the `IBigStepper` interface.","params":{"_claimIndex":"The index of the challenged claim within `claimData`.","_isAttack":"Whether or not the step is an attack or a defense.","_proof":"Proof to access memory nodes in the VM's merkle state tree.","_stateData":"The stateData of the step is the preimage of the claim at the given        prestate, which is at `_stateIndex` if the move is an attack and `_claimIndex` if        the move is a defense. If the step is an attack on the first instruction, it is        the absolute prestate of the fault proof VM."}}},"version":1},"userdoc":{"kind":"user","methods":{"absolutePrestate()":{"notice":"Returns the absolute prestate of the instruction trace."},"addLocalData(uint256,uint256,uint256)":{"notice":"Posts the requested local data to the VM's `PreimageOralce`."},"anchorStateRegistry()":{"notice":"Returns the anchor state registry contract."},"attack(uint256,bytes32)":{"notice":"Attack a disagreed upon `Claim`."},"claimCredit(address)":{"notice":"Claim the credit belonging to the recipient address."},"claimData(uint256)":{"notice":"An append-only array of all claims made during the dispute game."},"claimDataLen()":{"notice":"Returns the length of the `claimData` array."},"claims(bytes32)":{"notice":"A mapping to allow for constant-time lookups of existing claims."},"clockExtension()":{"notice":"Returns the clock extension constant."},"createdAt()":{"notice":"The starting timestamp of the game"},"credit(address)":{"notice":"Credited balances for winning participants."},"defend(uint256,bytes32)":{"notice":"Defend an agreed upon `Claim`."},"extraData()":{"notice":"Getter for the extra data."},"gameCreator()":{"notice":"Getter for the creator of the dispute game."},"gameData()":{"notice":"A compliant implementation of this interface should return the components of the         game UUID's preimage provided in the cwia payload. The preimage of the UUID is         constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes         concatenation."},"gameType()":{"notice":"Getter for the game type."},"getChallengerDuration(uint256)":{"notice":"Returns the amount of time elapsed on the potential challenger to `_claimIndex`'s chess clock. Maxes         out at `MAX_CLOCK_DURATION`."},"getRequiredBond(uint128)":{"notice":"Returns the required bond for a given move kind."},"initialize()":{"notice":"Initializes the contract."},"l1Head()":{"notice":"Getter for the parent hash of the L1 block when the dispute game was created."},"l2BlockNumber()":{"notice":"The l2BlockNumber of the disputed output root in the `L2OutputOracle`."},"l2ChainId()":{"notice":"Returns the chain ID of the L2 network this contract argues about."},"maxClockDuration()":{"notice":"Returns the max clock duration."},"maxGameDepth()":{"notice":"Returns the max game depth."},"move(uint256,bytes32,bool)":{"notice":"Generic move function, used for both `attack` and `defend` moves."},"resolve()":{"notice":"If all necessary information has been gathered, this function should mark the game         status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of         the resolved game. It is at this stage that the bonds should be awarded to the         necessary parties."},"resolveClaim(uint256)":{"notice":"Resolves the subgame rooted at the given claim index."},"resolvedAt()":{"notice":"The timestamp of the game's global resolution."},"resolvedSubgames(uint256)":{"notice":"An interneal mapping of resolved subgames rooted at a claim index."},"rootClaim()":{"notice":"Getter for the root claim."},"splitDepth()":{"notice":"Returns the split depth."},"startingBlockNumber()":{"notice":"Only the starting block number of the game."},"startingOutputRoot()":{"notice":"The latest finalized output root, serving as the anchor for output bisection."},"startingRootHash()":{"notice":"Only the starting output root of the game."},"status()":{"notice":"Returns the current status of the game."},"step(uint256,bool,bytes,bytes)":{"notice":"Perform an instruction step via an on-chain fault proof processor."},"subgames(uint256,uint256)":{"notice":"A mapping of subgames rooted at a claim index to other claim indices in the subgame."},"version()":{"notice":"Semantic version."},"vm()":{"notice":"Returns the address of the VM."},"weth()":{"notice":"Returns the WETH contract for holding ETH."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/FaultDisputeGame.sol":"FaultDisputeGame"},"evmVersion":"london","libraries":{}},"sources":{"lib/solady/src/utils/Clone.sol":{"keccak256":"0xb408dc90294bacd394e59c83619e7dc76f45c83ad6f8e923eb07d3a5bab89f22","urls":["bzz-raw://c3abeb55ad062c4b29b5b5edab6167de36615c51621ef71ef3ddfd9f6735a93b","dweb:/ipfs/Qmboh4zX6ZgFVhetUhZGJ14kKXiaGeB9bW3Vseg2MLMGHW"],"license":"MIT"},"lib/solady/src/utils/FixedPointMathLib.sol":{"keccak256":"0x1fbad6f61bd3e5875e6b0060b67626cb1ccb9542c0da368a44eb3870c9a9e160","urls":["bzz-raw://5189fcd5ecff0f449475cf3183e9d6b509cd1221555aba6cd76c70b097cc8260","dweb:/ipfs/Qmbt34Kf5h2DeYzmqXtg3jprYxDCFdENtf41NgCdcARA7u"],"license":"MIT"},"src/cannon/interfaces/IPreimageOracle.sol":{"keccak256":"0x7bda0156571b468cf0e22321945655f2dacd7082f440f742aa4612b36b388a9f","urls":["bzz-raw://5ba53777c65987bc20faa7731476c779e7794a58bafb40191a25275a05e3f8af","dweb:/ipfs/QmbxQwE2BC9aabTruDqkd2CLojwq7G9i2rkWKv46Wucae1"],"license":"MIT"},"src/dispute/FaultDisputeGame.sol":{"keccak256":"0x0d90358576f7b5c14cfe338937ed4fea7d945f9a1b5e68111196310554b485b3","urls":["bzz-raw://5d6d4ce62af4902e17af3a70b6c4688be4d148498c841af9c8ead2c076794e6e","dweb:/ipfs/QmS2ebpEDxbhnUwXYnKEChS2zVpFvfdnJr3AbfDSQovBAN"],"license":"MIT"},"src/dispute/interfaces/IAnchorStateRegistry.sol":{"keccak256":"0x5fd05f2482d149668897e54f92d556a0c3512aa35b51ba800ef15d18dd490cb3","urls":["bzz-raw://689d621bc5c43a41d5232980f0eceecd7a3d8aa99438dfd9fed5f73d5ecd2887","dweb:/ipfs/QmQ5jw54TkdxLuLFti6JZown54rGQ3m3Q93pvnVU1j1HRj"],"license":"MIT"},"src/dispute/interfaces/IBigStepper.sol":{"keccak256":"0xc92ee3069677b903826c83d5b4e46e3be462f9ccf1d95e72a12b1052e3451f0a","urls":["bzz-raw://f93692bd3c8d9533ab8024ce2df6d880328826d1a92fdb9cf45301e2d0c65884","dweb:/ipfs/QmUcmbjTw9gnCUNasgmQjVbSgcCPKZ1FQyA31dH4k5Nc75"],"license":"MIT"},"src/dispute/interfaces/IDelayedWETH.sol":{"keccak256":"0x0bb035e9bbb411696841ea292eeed6d4463c3c3eee7d6c5d8e38a101e8a4ff04","urls":["bzz-raw://0477cf2c137392d35081f23bfd7f3565881767dcb1489a62e7e80b3c178cfce8","dweb:/ipfs/QmTjALjrHg5rvhjfCKPmXLTgkMNneECWaqoarunSoVS37G"],"license":"MIT"},"src/dispute/interfaces/IDisputeGame.sol":{"keccak256":"0xe2611453d5cc05f8aa30dc0e5e15ee5ae29fd3eb55a2c034424250baebf12f9b","urls":["bzz-raw://274e00fbcea3b8455bbaa042130bf1f7a5b2b769f28ad57afbf9fabfd74a757a","dweb:/ipfs/QmRKQTfYdMjQYVbuZhdXts1d752eUq8RwrjqqwV5XRYLi6"],"license":"MIT"},"src/dispute/interfaces/IDisputeGameFactory.sol":{"keccak256":"0x204d89d38d4dc0db40fbf898d95e639ac5608810a5a5506a3d80d71177648bda","urls":["bzz-raw://71e5c0ff04f409f30ca4f8ebfae1592c6ca495e315b059f969d11812e6e84dbd","dweb:/ipfs/QmaNKkhkJv7qHzX6bKB3LjpWBupfMPLhoATUGx1HRTLtXh"],"license":"MIT"},"src/dispute/interfaces/IFaultDisputeGame.sol":{"keccak256":"0xe2f3acb614ecffd6e0fee98443cf58fa95c1209f4ee43e723781733823da3437","urls":["bzz-raw://e4cffbd5b53e6459aad472249e629ae5f52c725b6f6828050df019a18ab50278","dweb:/ipfs/QmTC1GgzbwSyqd9fbJz2veqHnbKJfAK5tBr5jUZcC5N271"],"license":"MIT"},"src/dispute/interfaces/IInitializable.sol":{"keccak256":"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc","urls":["bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5","dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj"],"license":"MIT"},"src/dispute/interfaces/IWETH.sol":{"keccak256":"0x3858f6c0ce3ec7978b1ea1772484c25aec7c8c480ceaf18239f726fdd06fdd1f","urls":["bzz-raw://b72cf3bc31324409480e9ae6eb3e2654da8dff3cbf9f2136b19fe714293b3766","dweb:/ipfs/QmTW3JiFUo8pYhDbthPH8ZSp5f1nmdga4CSzo4YdEzppnM"],"license":"MIT"},"src/dispute/lib/LibGameId.sol":{"keccak256":"0x9a9f30500da6eb7eeaa7193515dc5e45dc479f09ae7d522a07283c0fb5f4bfa6","urls":["bzz-raw://be113d8198d5822385de3d6ff3d7b3e8241993484aa95604ffaf38c2d33f40e0","dweb:/ipfs/QmY9mHC52fqc4gAFYCGobNyuP4TqugQgs8o1kTF33t17Hc"],"license":"MIT"},"src/dispute/lib/LibHashing.sol":{"keccak256":"0x5a072cd028094eee55acb84ed8d08d7422b1fb46658b7e043e916781530a383b","urls":["bzz-raw://b67e54f1318f1fd67b28b16c6861a56e27217c26a12aaea5c446e2ec53143920","dweb:/ipfs/QmVLSTP3PwXzRkR3A4qV9fjZhca9v8J1EnEYuVGUsSirAq"],"license":"MIT"},"src/dispute/lib/LibPosition.sol":{"keccak256":"0xf7ceb26f0ac7067ff8a43f263451050eef6fba2029eafb83d3cbe35224d894a6","urls":["bzz-raw://3bb403b0d707a8e2e3780a19185b918bfe907ca2d1b939ea74ae095a5cdf3b48","dweb:/ipfs/QmYFzkmF8TRomp1cBEbTsKxiEnqLnX6SvSh4y3rVa84pBR"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x9b61b15f5edfac1e6528aec79c1be6ac712d5f6a62140db87ed749e41a46563f","urls":["bzz-raw://24ef4ecee91638e278886888192b7d2b1811ab99f4e90a06817a4b2651720046","dweb:/ipfs/QmdisoBv1mE9jDv6jvpcbvKhdmJZMMjQmATrEYfBQQrXtZ"],"license":"MIT"},"src/libraries/DisputeErrors.sol":{"keccak256":"0x869bec0d79d97f2d0a00b1e70bf1e6955a2be585521e0084602e54455c0a6937","urls":["bzz-raw://a235c6349437cd2ade72909287404e2993c1c4bd356707299239c71fa3bf780e","dweb:/ipfs/QmcFSh6PWJ5sNg1CeoRyF9EnV8APWDz1kYP98v6ooGxc71"],"license":"MIT"},"src/libraries/DisputeTypes.sol":{"keccak256":"0xae3d053cf40b3e47669b89438524fec4eb571a78be296cc7e7ba23025b3bdf0c","urls":["bzz-raw://4a2b90604718ad29d19a8f21d45a5f8c6188320781fdb7102b3fccadae549961","dweb:/ipfs/QmUBTXgRFG7PvoCBJsXmgi2sZPZFPQQZTptQ91LL7tC2xQ"],"license":"MIT"},"src/libraries/Types.sol":{"keccak256":"0x75900d651301940d24c00d14f0b3b6cbd6dcf379173ceaa31d9bf5be934a9aa4","urls":["bzz-raw://99c2632c5bf4fa3982391c32110eec9fa07917b483b2442cbaf18bdde5bdb24e","dweb:/ipfs/QmSUs6Amkeootf5gKGbKi4mJpvhN2U8i1ED6ef2dskV5xc"],"license":"MIT"},"src/universal/ISemver.sol":{"keccak256":"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44","urls":["bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a","dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":97769,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"createdAt","offset":0,"slot":"0","type":"t_userDefinedValueType(Timestamp)103261"},{"astId":97773,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"resolvedAt","offset":8,"slot":"0","type":"t_userDefinedValueType(Timestamp)103261"},{"astId":97777,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"status","offset":16,"slot":"0","type":"t_enum(GameStatus)103277"},{"astId":97780,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"initialized","offset":17,"slot":"0","type":"t_bool"},{"astId":97785,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"claimData","offset":0,"slot":"1","type":"t_array(t_struct(ClaimData)100523_storage)dyn_storage"},{"astId":97790,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"credit","offset":0,"slot":"2","type":"t_mapping(t_address,t_uint256)"},{"astId":97796,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"claims","offset":0,"slot":"3","type":"t_mapping(t_userDefinedValueType(ClaimHash)103257,t_bool)"},{"astId":97802,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"subgames","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_array(t_uint256)dyn_storage)"},{"astId":97807,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"resolvedSubgames","offset":0,"slot":"5","type":"t_mapping(t_uint256,t_bool)"},{"astId":97811,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"startingOutputRoot","offset":0,"slot":"6","type":"t_struct(OutputRoot)103283_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(ClaimData)100523_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct IFaultDisputeGame.ClaimData[]","numberOfBytes":"32","base":"t_struct(ClaimData)100523_storage"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_enum(GameStatus)103277":{"encoding":"inplace","label":"enum GameStatus","numberOfBytes":"1"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_uint256,t_bool)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_userDefinedValueType(ClaimHash)103257,t_bool)":{"encoding":"mapping","key":"t_userDefinedValueType(ClaimHash)103257","label":"mapping(ClaimHash => bool)","numberOfBytes":"32","value":"t_bool"},"t_struct(ClaimData)100523_storage":{"encoding":"inplace","label":"struct IFaultDisputeGame.ClaimData","numberOfBytes":"160","members":[{"astId":100507,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"parentIndex","offset":0,"slot":"0","type":"t_uint32"},{"astId":100509,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"counteredBy","offset":4,"slot":"0","type":"t_address"},{"astId":100511,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"claimant","offset":0,"slot":"1","type":"t_address"},{"astId":100513,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"bond","offset":0,"slot":"2","type":"t_uint128"},{"astId":100516,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"claim","offset":0,"slot":"3","type":"t_userDefinedValueType(Claim)103255"},{"astId":100519,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"position","offset":0,"slot":"4","type":"t_userDefinedValueType(Position)103269"},{"astId":100522,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"clock","offset":16,"slot":"4","type":"t_userDefinedValueType(Clock)103267"}]},"t_struct(OutputRoot)103283_storage":{"encoding":"inplace","label":"struct OutputRoot","numberOfBytes":"64","members":[{"astId":103280,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"root","offset":0,"slot":"0","type":"t_userDefinedValueType(Hash)103253"},{"astId":103282,"contract":"src/dispute/FaultDisputeGame.sol:FaultDisputeGame","label":"l2BlockNumber","offset":0,"slot":"1","type":"t_uint256"}]},"t_uint128":{"encoding":"inplace","label":"uint128","numberOfBytes":"16"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint32":{"encoding":"inplace","label":"uint32","numberOfBytes":"4"},"t_userDefinedValueType(Claim)103255":{"encoding":"inplace","label":"Claim","numberOfBytes":"32"},"t_userDefinedValueType(ClaimHash)103257":{"encoding":"inplace","label":"ClaimHash","numberOfBytes":"32"},"t_userDefinedValueType(Clock)103267":{"encoding":"inplace","label":"Clock","numberOfBytes":"16"},"t_userDefinedValueType(Hash)103253":{"encoding":"inplace","label":"Hash","numberOfBytes":"32"},"t_userDefinedValueType(Position)103269":{"encoding":"inplace","label":"Position","numberOfBytes":"16"},"t_userDefinedValueType(Timestamp)103261":{"encoding":"inplace","label":"Timestamp","numberOfBytes":"8"}}},"userdoc":{"version":1,"kind":"user","methods":{"absolutePrestate()":{"notice":"Returns the absolute prestate of the instruction trace."},"addLocalData(uint256,uint256,uint256)":{"notice":"Posts the requested local data to the VM's `PreimageOralce`."},"anchorStateRegistry()":{"notice":"Returns the anchor state registry contract."},"attack(uint256,bytes32)":{"notice":"Attack a disagreed upon `Claim`."},"claimCredit(address)":{"notice":"Claim the credit belonging to the recipient address."},"claimData(uint256)":{"notice":"An append-only array of all claims made during the dispute game."},"claimDataLen()":{"notice":"Returns the length of the `claimData` array."},"claims(bytes32)":{"notice":"A mapping to allow for constant-time lookups of existing claims."},"clockExtension()":{"notice":"Returns the clock extension constant."},"createdAt()":{"notice":"The starting timestamp of the game"},"credit(address)":{"notice":"Credited balances for winning participants."},"defend(uint256,bytes32)":{"notice":"Defend an agreed upon `Claim`."},"extraData()":{"notice":"Getter for the extra data."},"gameCreator()":{"notice":"Getter for the creator of the dispute game."},"gameData()":{"notice":"A compliant implementation of this interface should return the components of the         game UUID's preimage provided in the cwia payload. The preimage of the UUID is         constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes         concatenation."},"gameType()":{"notice":"Getter for the game type."},"getChallengerDuration(uint256)":{"notice":"Returns the amount of time elapsed on the potential challenger to `_claimIndex`'s chess clock. Maxes         out at `MAX_CLOCK_DURATION`."},"getRequiredBond(uint128)":{"notice":"Returns the required bond for a given move kind."},"initialize()":{"notice":"Initializes the contract."},"l1Head()":{"notice":"Getter for the parent hash of the L1 block when the dispute game was created."},"l2BlockNumber()":{"notice":"The l2BlockNumber of the disputed output root in the `L2OutputOracle`."},"l2ChainId()":{"notice":"Returns the chain ID of the L2 network this contract argues about."},"maxClockDuration()":{"notice":"Returns the max clock duration."},"maxGameDepth()":{"notice":"Returns the max game depth."},"move(uint256,bytes32,bool)":{"notice":"Generic move function, used for both `attack` and `defend` moves."},"resolve()":{"notice":"If all necessary information has been gathered, this function should mark the game         status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of         the resolved game. It is at this stage that the bonds should be awarded to the         necessary parties."},"resolveClaim(uint256)":{"notice":"Resolves the subgame rooted at the given claim index."},"resolvedAt()":{"notice":"The timestamp of the game's global resolution."},"resolvedSubgames(uint256)":{"notice":"An interneal mapping of resolved subgames rooted at a claim index."},"rootClaim()":{"notice":"Getter for the root claim."},"splitDepth()":{"notice":"Returns the split depth."},"startingBlockNumber()":{"notice":"Only the starting block number of the game."},"startingOutputRoot()":{"notice":"The latest finalized output root, serving as the anchor for output bisection."},"startingRootHash()":{"notice":"Only the starting output root of the game."},"status()":{"notice":"Returns the current status of the game."},"step(uint256,bool,bytes,bytes)":{"notice":"Perform an instruction step via an on-chain fault proof processor."},"subgames(uint256,uint256)":{"notice":"A mapping of subgames rooted at a claim index to other claim indices in the subgame."},"version()":{"notice":"Semantic version."},"vm()":{"notice":"Returns the address of the VM."},"weth()":{"notice":"Returns the WETH contract for holding ETH."}},"events":{"Move(uint256,bytes32,address)":{"notice":"Emitted when a new claim is added to the DAG by `claimant`"},"Resolved(uint8)":{"notice":"Emitted when the game is resolved."}},"errors":{"AlreadyInitialized()":[{"notice":"Thrown when a dispute game has already been initialized."}],"AnchorRootNotFound()":[{"notice":"Thrown when an anchor root is not found for a given game type."}],"BondTransferFailed()":[{"notice":"Thrown when the transfer of credit to a recipient account reverts."}],"CannotDefendRootClaim()":[{"notice":"Thrown when a defense against the root claim is attempted."}],"ClaimAboveSplit()":[{"notice":"Thrown when a parent output root is attempted to be found on a claim that is in         the output root portion of the tree."}],"ClaimAlreadyExists()":[{"notice":"Thrown when a claim is attempting to be made that already exists."}],"ClaimAlreadyResolved()":[{"notice":"Thrown when resolving a claim that has already been resolved."}],"ClockNotExpired()":[{"notice":"Thrown when the game is attempted to be resolved too early."}],"ClockTimeExceeded()":[{"notice":"Thrown when a move is attempted to be made after the clock has timed out."}],"DuplicateStep()":[{"notice":"Thrown when trying to step against a claim for a second time, after it has already been countered with         an instruction step."}],"GameDepthExceeded()":[{"notice":"Thrown when a move is attempted to be made at or greater than the max depth of the game."}],"GameNotInProgress()":[{"notice":"Thrown when an action that requires the game to be `IN_PROGRESS` is invoked when         the game is not in progress."}],"IncorrectBondAmount()":[{"notice":"Thrown when a supplied bond is not equal to the required bond amount to cover the cost of the interaction."}],"InvalidClockExtension()":[{"notice":"Thrown on deployment if the max clock duration is less than or equal to the clock extension."}],"InvalidLocalIdent()":[{"notice":"Thrown when an invalid local identifier is passed to the `addLocalData` function."}],"InvalidParent()":[{"notice":"Thrown when a step is attempted above the maximum game depth."}],"InvalidPrestate()":[{"notice":"Thrown when an invalid prestate is supplied to `step`."}],"InvalidSplitDepth()":[{"notice":"Thrown on deployment if the split depth is greater than or equal to the max         depth of the game."}],"MaxDepthTooLarge()":[{"notice":"Thrown on deployment if the max depth is greater than `LibPosition.`"}],"NoCreditToClaim()":[{"notice":"Thrown when a credit claim is attempted for a value of 0."}],"OutOfOrderResolution()":[{"notice":"Thrown when resolving claims out of order."}],"UnexpectedRootClaim(bytes32)":[{"notice":"Thrown when the root claim has an unexpected VM status.         Some games can only start with a root-claim with a specific status."}],"ValidStep()":[{"notice":"Thrown when a step is made that computes the expected post state correctly."}]},"notice":"An implementation of the `IFaultDisputeGame` interface."},"devdoc":{"version":1,"kind":"dev","methods":{"addLocalData(uint256,uint256,uint256)":{"params":{"_execLeafIdx":"The index of the leaf claim in an execution subgame that requires the local data for a step.","_ident":"The local identifier of the data to post.","_partOffset":"The offset of the data to post."}},"attack(uint256,bytes32)":{"params":{"_claim":"The `Claim` at the relative attack position.","_parentIndex":"Index of the `Claim` to attack in the `claimData` array."}},"claimCredit(address)":{"params":{"_recipient":"The owner and recipient of the credit."}},"constructor":{"params":{"_absolutePrestate":"The absolute prestate of the instruction trace.","_anchorStateRegistry":"The contract that stores the anchor state for each game type.","_clockExtension":"The clock extension to perform when the remaining duration is less than the extension.","_gameType":"The type ID of the game.","_l2ChainId":"Chain ID of the L2 network this contract argues about.","_maxClockDuration":"The maximum amount of time that may accumulate on a team's chess clock.","_maxGameDepth":"The maximum depth of bisection.","_splitDepth":"The final depth of the output bisection portion of the game.","_vm":"An onchain VM that performs single instruction steps on an FPP trace.","_weth":"WETH contract for holding ETH."}},"defend(uint256,bytes32)":{"params":{"_claim":"The `Claim` at the relative defense position.","_parentIndex":"Index of the claim to defend in the `claimData` array."}},"extraData()":{"details":"`clones-with-immutable-args` argument #4","returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator."}},"gameCreator()":{"details":"`clones-with-immutable-args` argument #1","returns":{"creator_":"The creator of the dispute game."}},"gameData()":{"returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator.","gameType_":"The type of proof system being used.","rootClaim_":"The root claim of the DisputeGame."}},"gameType()":{"details":"The reference impl should be entirely different depending on the type (fault, validity)      i.e. The game type should indicate the security model.","returns":{"gameType_":"The type of proof system being used."}},"getChallengerDuration(uint256)":{"params":{"_claimIndex":"The index of the subgame root claim."},"returns":{"duration_":"The time elapsed on the potential challenger to `_claimIndex`'s chess clock."}},"getRequiredBond(uint128)":{"params":{"_position":"The position of the bonded interaction."},"returns":{"requiredBond_":"The required ETH bond for the given move, in wei."}},"initialize()":{"details":"This function may only be called once."},"l1Head()":{"details":"`clones-with-immutable-args` argument #3","returns":{"l1Head_":"The parent hash of the L1 block when the dispute game was created."}},"move(uint256,bytes32,bool)":{"params":{"_challengeIndex":"The index of the claim being moved against.","_claim":"The claim at the next logical position in the game.","_isAttack":"Whether or not the move is an attack or defense."}},"resolve()":{"details":"May only be called if the `status` is `IN_PROGRESS`.","returns":{"status_":"The status of the game after resolution."}},"resolveClaim(uint256)":{"details":"This function must be called bottom-up in the DAG      A subgame is a tree of claims that has a maximum depth of 1.      A subgame root claims is valid if, and only if, all of its child claims are invalid.      At the deepest level in the DAG, a claim is invalid if there's a successful step against it.","params":{"_claimIndex":"The index of the subgame root claim to resolve."}},"rootClaim()":{"details":"`clones-with-immutable-args` argument #2","returns":{"rootClaim_":"The root claim of the DisputeGame."}},"step(uint256,bool,bytes,bytes)":{"details":"This function should point to a fault proof processor in order to execute      a step in the fault proof program on-chain. The interface of the fault proof      processor contract should adhere to the `IBigStepper` interface.","params":{"_claimIndex":"The index of the challenged claim within `claimData`.","_isAttack":"Whether or not the step is an attack or a defense.","_proof":"Proof to access memory nodes in the VM's merkle state tree.","_stateData":"The stateData of the step is the preimage of the claim at the given        prestate, which is at `_stateIndex` if the move is an attack and `_claimIndex` if        the move is a defense. If the step is an attack on the first instruction, it is        the absolute prestate of the fault proof VM."}}},"errors":{"UnexpectedRootClaim(bytes32)":[{"params":{"rootClaim":"is the claim that was unexpected."}}]},"title":"FaultDisputeGame"},"ast":{"absolutePath":"src/dispute/FaultDisputeGame.sol","id":99928,"exportedSymbols":{"AlreadyInitialized":[103120],"AnchorRootNotFound":[103192],"BadAuth":[103195],"BadExtraData":[103132],"BondAmount":[103259],"BondTransferFailed":[103129],"CannotDefendRootClaim":[103135],"Claim":[103255],"ClaimAboveSplit":[103177],"ClaimAlreadyExists":[103138],"ClaimAlreadyResolved":[103174],"ClaimHash":[103257],"Clock":[103267],"ClockNotExpired":[103150],"ClockTimeExceeded":[103147],"Clone":[60963],"DuplicateStep":[103189],"Duration":[103263],"FaultDisputeGame":[99927],"FixedPointMathLib":[62288],"GameAlreadyExists":[103111],"GameDepthExceeded":[103153],"GameId":[103265],"GameNotInProgress":[103144],"GameStatus":[103277],"GameType":[103271],"GameTypes":[103317],"Hash":[103253],"IAnchorStateRegistry":[100146],"IBigStepper":[100171],"IDelayedWETH":[100239],"IDisputeGame":[100327],"IFaultDisputeGame":[100608],"IInitializable":[100616],"IPreimageOracle":[96782],"ISemver":[109417],"IncorrectBondAmount":[103123],"InvalidClaim":[103141],"InvalidClockExtension":[103183],"InvalidLocalIdent":[103168],"InvalidParent":[103156],"InvalidPrestate":[103159],"InvalidSplitDepth":[103180],"L1HeadTooOld":[103165],"LibClaim":[101086],"LibClock":[101073],"LibDuration":[101099],"LibGameId":[100778],"LibGameType":[101151],"LibHash":[101112],"LibHashing":[100800],"LibPosition":[101018],"LibTimestamp":[101125],"LibVMStatus":[101138],"LocalPreimageKey":[103373],"MaxDepthTooLarge":[103186],"NoCreditToClaim":[103126],"NoImplementation":[103105],"OutOfOrderResolution":[103171],"OutputRoot":[103283],"Position":[103269],"Timestamp":[103261],"Types":[104349],"UnexpectedRootClaim":[103117],"VMStatus":[103273],"VMStatuses":[103351],"ValidStep":[103162]},"nodeType":"SourceUnit","src":"32:44792:164","nodes":[{"id":97684,"nodeType":"PragmaDirective","src":"32:23:164","nodes":[],"literals":["solidity","0.8",".15"]},{"id":97686,"nodeType":"ImportDirective","src":"57:72:164","nodes":[],"absolutePath":"lib/solady/src/utils/FixedPointMathLib.sol","file":"@solady/utils/FixedPointMathLib.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":62289,"symbolAliases":[{"foreign":{"id":97685,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"66:17:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97688,"nodeType":"ImportDirective","src":"131:71:164","nodes":[],"absolutePath":"src/dispute/interfaces/IDelayedWETH.sol","file":"src/dispute/interfaces/IDelayedWETH.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":100240,"symbolAliases":[{"foreign":{"id":97687,"name":"IDelayedWETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100239,"src":"140:12:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97690,"nodeType":"ImportDirective","src":"203:71:164","nodes":[],"absolutePath":"src/dispute/interfaces/IDisputeGame.sol","file":"src/dispute/interfaces/IDisputeGame.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":100328,"symbolAliases":[{"foreign":{"id":97689,"name":"IDisputeGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100327,"src":"212:12:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97692,"nodeType":"ImportDirective","src":"275:81:164","nodes":[],"absolutePath":"src/dispute/interfaces/IFaultDisputeGame.sol","file":"src/dispute/interfaces/IFaultDisputeGame.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":100609,"symbolAliases":[{"foreign":{"id":97691,"name":"IFaultDisputeGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100608,"src":"284:17:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97694,"nodeType":"ImportDirective","src":"357:75:164","nodes":[],"absolutePath":"src/dispute/interfaces/IInitializable.sol","file":"src/dispute/interfaces/IInitializable.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":100617,"symbolAliases":[{"foreign":{"id":97693,"name":"IInitializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100616,"src":"366:14:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97697,"nodeType":"ImportDirective","src":"433:86:164","nodes":[],"absolutePath":"src/dispute/interfaces/IBigStepper.sol","file":"src/dispute/interfaces/IBigStepper.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":100172,"symbolAliases":[{"foreign":{"id":97695,"name":"IBigStepper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100171,"src":"442:11:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":97696,"name":"IPreimageOracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96782,"src":"455:15:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97699,"nodeType":"ImportDirective","src":"520:87:164","nodes":[],"absolutePath":"src/dispute/interfaces/IAnchorStateRegistry.sol","file":"src/dispute/interfaces/IAnchorStateRegistry.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":100147,"symbolAliases":[{"foreign":{"id":97698,"name":"IAnchorStateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100146,"src":"529:20:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97701,"nodeType":"ImportDirective","src":"609:48:164","nodes":[],"absolutePath":"lib/solady/src/utils/Clone.sol","file":"@solady/utils/Clone.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":60964,"symbolAliases":[{"foreign":{"id":97700,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60963,"src":"618:5:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97703,"nodeType":"ImportDirective","src":"658:48:164","nodes":[],"absolutePath":"src/libraries/Types.sol","file":"src/libraries/Types.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":104350,"symbolAliases":[{"foreign":{"id":97702,"name":"Types","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104349,"src":"667:5:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97705,"nodeType":"ImportDirective","src":"707:52:164","nodes":[],"absolutePath":"src/universal/ISemver.sol","file":"src/universal/ISemver.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":109418,"symbolAliases":[{"foreign":{"id":97704,"name":"ISemver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109417,"src":"716:7:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97707,"nodeType":"ImportDirective","src":"760:54:164","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":101152,"symbolAliases":[{"foreign":{"id":97706,"name":"LibClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101073,"src":"769:8:164","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97708,"nodeType":"ImportDirective","src":"816:40:164","nodes":[],"absolutePath":"src/libraries/DisputeTypes.sol","file":"src/libraries/DisputeTypes.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":103374,"symbolAliases":[],"unitAlias":""},{"id":97709,"nodeType":"ImportDirective","src":"857:41:164","nodes":[],"absolutePath":"src/libraries/DisputeErrors.sol","file":"src/libraries/DisputeErrors.sol","nameLocation":"-1:-1:-1","scope":99928,"sourceUnit":103196,"symbolAliases":[],"unitAlias":""},{"id":99927,"nodeType":"ContractDefinition","src":"996:43827:164","nodes":[{"id":97720,"nodeType":"VariableDeclaration","src":"1444:42:164","nodes":[],"constant":false,"documentation":{"id":97717,"nodeType":"StructuredDocumentation","src":"1273:166:164","text":"@notice The absolute prestate of the instruction trace. This is a constant that is defined\n         by the program that is being used to execute the trace."},"mutability":"immutable","name":"ABSOLUTE_PRESTATE","nameLocation":"1469:17:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":97719,"nodeType":"UserDefinedTypeName","pathNode":{"id":97718,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"1444:5:164"},"referencedDeclaration":103255,"src":"1444:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"id":97723,"nodeType":"VariableDeclaration","src":"1536:41:164","nodes":[],"constant":false,"documentation":{"id":97721,"nodeType":"StructuredDocumentation","src":"1493:38:164","text":"@notice The max depth of the game."},"mutability":"immutable","name":"MAX_GAME_DEPTH","nameLocation":"1563:14:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97722,"name":"uint256","nodeType":"ElementaryTypeName","src":"1536:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":97726,"nodeType":"VariableDeclaration","src":"1750:38:164","nodes":[],"constant":false,"documentation":{"id":97724,"nodeType":"StructuredDocumentation","src":"1584:161:164","text":"@notice The max depth of the output bisection portion of the position tree. Immediately beneath\n         this depth, execution trace bisection begins."},"mutability":"immutable","name":"SPLIT_DEPTH","nameLocation":"1777:11:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97725,"name":"uint256","nodeType":"ElementaryTypeName","src":"1750:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":97730,"nodeType":"VariableDeclaration","src":"1911:46:164","nodes":[],"constant":false,"documentation":{"id":97727,"nodeType":"StructuredDocumentation","src":"1795:111:164","text":"@notice The maximum duration that may accumulate on a team's chess clock before they may no longer respond."},"mutability":"immutable","name":"MAX_CLOCK_DURATION","nameLocation":"1939:18:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":97729,"nodeType":"UserDefinedTypeName","pathNode":{"id":97728,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"1911:8:164"},"referencedDeclaration":103263,"src":"1911:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"},{"id":97734,"nodeType":"VariableDeclaration","src":"2065:33:164","nodes":[],"constant":false,"documentation":{"id":97731,"nodeType":"StructuredDocumentation","src":"1964:96:164","text":"@notice An onchain VM that performs single instruction steps on a fault proof program trace."},"mutability":"immutable","name":"VM","nameLocation":"2096:2:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"},"typeName":{"id":97733,"nodeType":"UserDefinedTypeName","pathNode":{"id":97732,"name":"IBigStepper","nodeType":"IdentifierPath","referencedDeclaration":100171,"src":"2065:11:164"},"referencedDeclaration":100171,"src":"2065:11:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"visibility":"internal"},{"id":97738,"nodeType":"VariableDeclaration","src":"2139:37:164","nodes":[],"constant":false,"documentation":{"id":97735,"nodeType":"StructuredDocumentation","src":"2105:29:164","text":"@notice The game type ID."},"mutability":"immutable","name":"GAME_TYPE","nameLocation":"2167:9:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"},"typeName":{"id":97737,"nodeType":"UserDefinedTypeName","pathNode":{"id":97736,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":103271,"src":"2139:8:164"},"referencedDeclaration":103271,"src":"2139:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"visibility":"internal"},{"id":97742,"nodeType":"VariableDeclaration","src":"2230:36:164","nodes":[],"constant":false,"documentation":{"id":97739,"nodeType":"StructuredDocumentation","src":"2183:42:164","text":"@notice WETH contract for holding ETH."},"mutability":"immutable","name":"WETH","nameLocation":"2262:4:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"},"typeName":{"id":97741,"nodeType":"UserDefinedTypeName","pathNode":{"id":97740,"name":"IDelayedWETH","nodeType":"IdentifierPath","referencedDeclaration":100239,"src":"2230:12:164"},"referencedDeclaration":100239,"src":"2230:12:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"visibility":"internal"},{"id":97746,"nodeType":"VariableDeclaration","src":"2316:61:164","nodes":[],"constant":false,"documentation":{"id":97743,"nodeType":"StructuredDocumentation","src":"2273:38:164","text":"@notice The anchor state registry."},"mutability":"immutable","name":"ANCHOR_STATE_REGISTRY","nameLocation":"2356:21:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"},"typeName":{"id":97745,"nodeType":"UserDefinedTypeName","pathNode":{"id":97744,"name":"IAnchorStateRegistry","nodeType":"IdentifierPath","referencedDeclaration":100146,"src":"2316:20:164"},"referencedDeclaration":100146,"src":"2316:20:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"visibility":"internal"},{"id":97749,"nodeType":"VariableDeclaration","src":"2459:38:164","nodes":[],"constant":false,"documentation":{"id":97747,"nodeType":"StructuredDocumentation","src":"2384:70:164","text":"@notice The chain ID of the L2 network this contract argues about."},"mutability":"immutable","name":"L2_CHAIN_ID","nameLocation":"2486:11:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97748,"name":"uint256","nodeType":"ElementaryTypeName","src":"2459:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":97753,"nodeType":"VariableDeclaration","src":"2666:43:164","nodes":[],"constant":false,"documentation":{"id":97750,"nodeType":"StructuredDocumentation","src":"2504:157:164","text":"@notice The duration of the clock extension. Will be doubled if the grandchild is the root claim of an execution\n         trace bisection subgame."},"mutability":"immutable","name":"CLOCK_EXTENSION","nameLocation":"2694:15:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":97752,"nodeType":"UserDefinedTypeName","pathNode":{"id":97751,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"2666:8:164"},"referencedDeclaration":103263,"src":"2666:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"},{"id":97761,"nodeType":"VariableDeclaration","src":"2788:59:164","nodes":[],"constant":true,"documentation":{"id":97754,"nodeType":"StructuredDocumentation","src":"2716:67:164","text":"@notice The global root claim's position is always at gindex 1."},"mutability":"constant","name":"ROOT_POSITION","nameLocation":"2815:13:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":97756,"nodeType":"UserDefinedTypeName","pathNode":{"id":97755,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"2788:8:164"},"referencedDeclaration":103269,"src":"2788:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"value":{"arguments":[{"hexValue":"31","id":97759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2845:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":97757,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103269,"src":"2831:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Position_$103269_$","typeString":"type(Position)"}},"id":97758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"2831:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint128) pure returns (Position)"}},"id":97760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2831:16:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"},{"id":97765,"nodeType":"VariableDeclaration","src":"2918:41:164","nodes":[],"baseFunctions":[109416],"constant":true,"documentation":{"id":97762,"nodeType":"StructuredDocumentation","src":"2854:59:164","text":"@notice Semantic version.\n @custom:semver 0.17.0"},"functionSelector":"54fd4d50","mutability":"constant","name":"version","nameLocation":"2941:7:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":97763,"name":"string","nodeType":"ElementaryTypeName","src":"2918:6:164","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e31372e30","id":97764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2951:8:164","typeDescriptions":{"typeIdentifier":"t_stringliteral_512d9a572f9735444291a88a6ab37093045e89287be8ab073814769d70f29bc8","typeString":"literal_string \"0.17.0\""},"value":"0.17.0"},"visibility":"public"},{"id":97769,"nodeType":"VariableDeclaration","src":"3017:26:164","nodes":[],"baseFunctions":[100260],"constant":false,"documentation":{"id":97766,"nodeType":"StructuredDocumentation","src":"2966:46:164","text":"@notice The starting timestamp of the game"},"functionSelector":"cf09e0d0","mutability":"mutable","name":"createdAt","nameLocation":"3034:9:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"},"typeName":{"id":97768,"nodeType":"UserDefinedTypeName","pathNode":{"id":97767,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":103261,"src":"3017:9:164"},"referencedDeclaration":103261,"src":"3017:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"visibility":"public"},{"id":97773,"nodeType":"VariableDeclaration","src":"3113:27:164","nodes":[],"baseFunctions":[100267],"constant":false,"documentation":{"id":97770,"nodeType":"StructuredDocumentation","src":"3050:58:164","text":"@notice The timestamp of the game's global resolution."},"functionSelector":"19effeb4","mutability":"mutable","name":"resolvedAt","nameLocation":"3130:10:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"},"typeName":{"id":97772,"nodeType":"UserDefinedTypeName","pathNode":{"id":97771,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":103261,"src":"3113:9:164"},"referencedDeclaration":103261,"src":"3113:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"visibility":"public"},{"id":97777,"nodeType":"VariableDeclaration","src":"3180:24:164","nodes":[],"baseFunctions":[100274],"constant":false,"documentation":{"id":97774,"nodeType":"StructuredDocumentation","src":"3147:28:164","text":"@inheritdoc IDisputeGame"},"functionSelector":"200d2ed2","mutability":"mutable","name":"status","nameLocation":"3198:6:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"},"typeName":{"id":97776,"nodeType":"UserDefinedTypeName","pathNode":{"id":97775,"name":"GameStatus","nodeType":"IdentifierPath","referencedDeclaration":103277,"src":"3180:10:164"},"referencedDeclaration":103277,"src":"3180:10:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"visibility":"public"},{"id":97780,"nodeType":"VariableDeclaration","src":"3292:25:164","nodes":[],"constant":false,"documentation":{"id":97778,"nodeType":"StructuredDocumentation","src":"3211:76:164","text":"@notice Flag for the `initialize` function to prevent re-initialization."},"mutability":"mutable","name":"initialized","nameLocation":"3306:11:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":97779,"name":"bool","nodeType":"ElementaryTypeName","src":"3292:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"id":97785,"nodeType":"VariableDeclaration","src":"3405:28:164","nodes":[],"constant":false,"documentation":{"id":97781,"nodeType":"StructuredDocumentation","src":"3324:76:164","text":"@notice An append-only array of all claims made during the dispute game."},"functionSelector":"c6f0308c","mutability":"mutable","name":"claimData","nameLocation":"3424:9:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData[]"},"typeName":{"baseType":{"id":97783,"nodeType":"UserDefinedTypeName","pathNode":{"id":97782,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"3405:9:164"},"referencedDeclaration":100523,"src":"3405:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"id":97784,"nodeType":"ArrayTypeName","src":"3405:11:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData[]"}},"visibility":"public"},{"id":97790,"nodeType":"VariableDeclaration","src":"3500:41:164","nodes":[],"constant":false,"documentation":{"id":97786,"nodeType":"StructuredDocumentation","src":"3440:55:164","text":"@notice Credited balances for winning participants."},"functionSelector":"d5d44d80","mutability":"mutable","name":"credit","nameLocation":"3535:6:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":97789,"keyType":{"id":97787,"name":"address","nodeType":"ElementaryTypeName","src":"3508:7:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3500:27:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":97788,"name":"uint256","nodeType":"ElementaryTypeName","src":"3519:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":97796,"nodeType":"VariableDeclaration","src":"3629:40:164","nodes":[],"constant":false,"documentation":{"id":97791,"nodeType":"StructuredDocumentation","src":"3548:76:164","text":"@notice A mapping to allow for constant-time lookups of existing claims."},"functionSelector":"eff0f592","mutability":"mutable","name":"claims","nameLocation":"3663:6:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_ClaimHash_$103257_$_t_bool_$","typeString":"mapping(ClaimHash => bool)"},"typeName":{"id":97795,"keyType":{"id":97793,"nodeType":"UserDefinedTypeName","pathNode":{"id":97792,"name":"ClaimHash","nodeType":"IdentifierPath","referencedDeclaration":103257,"src":"3637:9:164"},"referencedDeclaration":103257,"src":"3637:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ClaimHash_$103257","typeString":"ClaimHash"}},"nodeType":"Mapping","src":"3629:26:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_ClaimHash_$103257_$_t_bool_$","typeString":"mapping(ClaimHash => bool)"},"valueType":{"id":97794,"name":"bool","nodeType":"ElementaryTypeName","src":"3650:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":97802,"nodeType":"VariableDeclaration","src":"3777:45:164","nodes":[],"constant":false,"documentation":{"id":97797,"nodeType":"StructuredDocumentation","src":"3676:96:164","text":"@notice A mapping of subgames rooted at a claim index to other claim indices in the subgame."},"functionSelector":"2ad69aeb","mutability":"mutable","name":"subgames","nameLocation":"3814:8:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[])"},"typeName":{"id":97801,"keyType":{"id":97798,"name":"uint256","nodeType":"ElementaryTypeName","src":"3785:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3777:29:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[])"},"valueType":{"baseType":{"id":97799,"name":"uint256","nodeType":"ElementaryTypeName","src":"3796:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97800,"nodeType":"ArrayTypeName","src":"3796:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":97807,"nodeType":"VariableDeclaration","src":"3912:48:164","nodes":[],"constant":false,"documentation":{"id":97803,"nodeType":"StructuredDocumentation","src":"3829:78:164","text":"@notice An interneal mapping of resolved subgames rooted at a claim index."},"functionSelector":"fe2bbeb2","mutability":"mutable","name":"resolvedSubgames","nameLocation":"3944:16:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":97806,"keyType":{"id":97804,"name":"uint256","nodeType":"ElementaryTypeName","src":"3920:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3912:24:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueType":{"id":97805,"name":"bool","nodeType":"ElementaryTypeName","src":"3931:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":97811,"nodeType":"VariableDeclaration","src":"4061:36:164","nodes":[],"baseFunctions":[100594],"constant":false,"documentation":{"id":97808,"nodeType":"StructuredDocumentation","src":"3967:89:164","text":"@notice The latest finalized output root, serving as the anchor for output bisection."},"functionSelector":"57da950e","mutability":"mutable","name":"startingOutputRoot","nameLocation":"4079:18:164","scope":99927,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_storage","typeString":"struct OutputRoot"},"typeName":{"id":97810,"nodeType":"UserDefinedTypeName","pathNode":{"id":97809,"name":"OutputRoot","nodeType":"IdentifierPath","referencedDeclaration":103283,"src":"4061:10:164"},"referencedDeclaration":103283,"src":"4061:10:164","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_storage_ptr","typeString":"struct OutputRoot"}},"visibility":"public"},{"id":97911,"nodeType":"FunctionDefinition","src":"4927:1230:164","nodes":[],"body":{"id":97910,"nodeType":"Block","src":"5268:889:164","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97842,"name":"_maxGameDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97820,"src":"5375:13:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":97846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":97843,"name":"LibPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101018,"src":"5391:11:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibPosition_$101018_$","typeString":"type(library LibPosition)"}},"id":97844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"MAX_POSITION_BITLEN","nodeType":"MemberAccess","referencedDeclaration":100809,"src":"5391:31:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":97845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5425:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5391:35:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5375:51:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97851,"nodeType":"IfStatement","src":"5371:82:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97848,"name":"MaxDepthTooLarge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103186,"src":"5435:16:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5435:18:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97850,"nodeType":"RevertStatement","src":"5428:25:164"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97852,"name":"_splitDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97822,"src":"5549:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":97853,"name":"_maxGameDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97820,"src":"5564:13:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5549:28:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97858,"nodeType":"IfStatement","src":"5545:60:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97855,"name":"InvalidSplitDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103180,"src":"5586:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5586:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97857,"nodeType":"RevertStatement","src":"5579:26:164"}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":97865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":97859,"name":"_clockExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97825,"src":"5698:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":97860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"5698:19:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":97861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5698:21:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":97862,"name":"_maxClockDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97828,"src":"5722:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":97863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"5722:21:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":97864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5722:23:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5698:47:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97869,"nodeType":"IfStatement","src":"5694:83:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97866,"name":"InvalidClockExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103183,"src":"5754:21:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5754:23:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97868,"nodeType":"RevertStatement","src":"5747:30:164"}},{"expression":{"id":97872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97870,"name":"GAME_TYPE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97738,"src":"5788:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97871,"name":"_gameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97815,"src":"5800:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"src":"5788:21:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"id":97873,"nodeType":"ExpressionStatement","src":"5788:21:164"},{"expression":{"id":97876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97874,"name":"ABSOLUTE_PRESTATE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97720,"src":"5819:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97875,"name":"_absolutePrestate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97818,"src":"5839:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"src":"5819:37:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":97877,"nodeType":"ExpressionStatement","src":"5819:37:164"},{"expression":{"id":97880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97878,"name":"MAX_GAME_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97723,"src":"5866:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97879,"name":"_maxGameDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97820,"src":"5883:13:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5866:30:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97881,"nodeType":"ExpressionStatement","src":"5866:30:164"},{"expression":{"id":97884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97882,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"5906:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97883,"name":"_splitDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97822,"src":"5920:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5906:25:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97885,"nodeType":"ExpressionStatement","src":"5906:25:164"},{"expression":{"id":97888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97886,"name":"CLOCK_EXTENSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"5941:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97887,"name":"_clockExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97825,"src":"5959:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"src":"5941:33:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":97889,"nodeType":"ExpressionStatement","src":"5941:33:164"},{"expression":{"id":97892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97890,"name":"MAX_CLOCK_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97730,"src":"5984:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97891,"name":"_maxClockDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97828,"src":"6005:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"src":"5984:38:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":97893,"nodeType":"ExpressionStatement","src":"5984:38:164"},{"expression":{"id":97896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97894,"name":"VM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97734,"src":"6032:2:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97895,"name":"_vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97831,"src":"6037:3:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"src":"6032:8:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"id":97897,"nodeType":"ExpressionStatement","src":"6032:8:164"},{"expression":{"id":97900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97898,"name":"WETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97742,"src":"6050:4:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97899,"name":"_weth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97834,"src":"6057:5:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"src":"6050:12:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"id":97901,"nodeType":"ExpressionStatement","src":"6050:12:164"},{"expression":{"id":97904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97902,"name":"ANCHOR_STATE_REGISTRY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97746,"src":"6072:21:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97903,"name":"_anchorStateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97837,"src":"6096:20:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"src":"6072:44:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"id":97905,"nodeType":"ExpressionStatement","src":"6072:44:164"},{"expression":{"id":97908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97906,"name":"L2_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97749,"src":"6126:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97907,"name":"_l2ChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97839,"src":"6140:10:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6126:24:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97909,"nodeType":"ExpressionStatement","src":"6126:24:164"}]},"documentation":{"id":97812,"nodeType":"StructuredDocumentation","src":"4104:818:164","text":"@param _gameType The type ID of the game.\n @param _absolutePrestate The absolute prestate of the instruction trace.\n @param _maxGameDepth The maximum depth of bisection.\n @param _splitDepth The final depth of the output bisection portion of the game.\n @param _clockExtension The clock extension to perform when the remaining duration is less than the extension.\n @param _maxClockDuration The maximum amount of time that may accumulate on a team's chess clock.\n @param _vm An onchain VM that performs single instruction steps on an FPP trace.\n @param _weth WETH contract for holding ETH.\n @param _anchorStateRegistry The contract that stores the anchor state for each game type.\n @param _l2ChainId Chain ID of the L2 network this contract argues about."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":97840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97815,"mutability":"mutable","name":"_gameType","nameLocation":"4957:9:164","nodeType":"VariableDeclaration","scope":97911,"src":"4948:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"},"typeName":{"id":97814,"nodeType":"UserDefinedTypeName","pathNode":{"id":97813,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":103271,"src":"4948:8:164"},"referencedDeclaration":103271,"src":"4948:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"visibility":"internal"},{"constant":false,"id":97818,"mutability":"mutable","name":"_absolutePrestate","nameLocation":"4982:17:164","nodeType":"VariableDeclaration","scope":97911,"src":"4976:23:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":97817,"nodeType":"UserDefinedTypeName","pathNode":{"id":97816,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"4976:5:164"},"referencedDeclaration":103255,"src":"4976:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":97820,"mutability":"mutable","name":"_maxGameDepth","nameLocation":"5017:13:164","nodeType":"VariableDeclaration","scope":97911,"src":"5009:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97819,"name":"uint256","nodeType":"ElementaryTypeName","src":"5009:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97822,"mutability":"mutable","name":"_splitDepth","nameLocation":"5048:11:164","nodeType":"VariableDeclaration","scope":97911,"src":"5040:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97821,"name":"uint256","nodeType":"ElementaryTypeName","src":"5040:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97825,"mutability":"mutable","name":"_clockExtension","nameLocation":"5078:15:164","nodeType":"VariableDeclaration","scope":97911,"src":"5069:24:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":97824,"nodeType":"UserDefinedTypeName","pathNode":{"id":97823,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"5069:8:164"},"referencedDeclaration":103263,"src":"5069:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"},{"constant":false,"id":97828,"mutability":"mutable","name":"_maxClockDuration","nameLocation":"5112:17:164","nodeType":"VariableDeclaration","scope":97911,"src":"5103:26:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":97827,"nodeType":"UserDefinedTypeName","pathNode":{"id":97826,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"5103:8:164"},"referencedDeclaration":103263,"src":"5103:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"},{"constant":false,"id":97831,"mutability":"mutable","name":"_vm","nameLocation":"5151:3:164","nodeType":"VariableDeclaration","scope":97911,"src":"5139:15:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"},"typeName":{"id":97830,"nodeType":"UserDefinedTypeName","pathNode":{"id":97829,"name":"IBigStepper","nodeType":"IdentifierPath","referencedDeclaration":100171,"src":"5139:11:164"},"referencedDeclaration":100171,"src":"5139:11:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"visibility":"internal"},{"constant":false,"id":97834,"mutability":"mutable","name":"_weth","nameLocation":"5177:5:164","nodeType":"VariableDeclaration","scope":97911,"src":"5164:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"},"typeName":{"id":97833,"nodeType":"UserDefinedTypeName","pathNode":{"id":97832,"name":"IDelayedWETH","nodeType":"IdentifierPath","referencedDeclaration":100239,"src":"5164:12:164"},"referencedDeclaration":100239,"src":"5164:12:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"visibility":"internal"},{"constant":false,"id":97837,"mutability":"mutable","name":"_anchorStateRegistry","nameLocation":"5213:20:164","nodeType":"VariableDeclaration","scope":97911,"src":"5192:41:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"},"typeName":{"id":97836,"nodeType":"UserDefinedTypeName","pathNode":{"id":97835,"name":"IAnchorStateRegistry","nodeType":"IdentifierPath","referencedDeclaration":100146,"src":"5192:20:164"},"referencedDeclaration":100146,"src":"5192:20:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"visibility":"internal"},{"constant":false,"id":97839,"mutability":"mutable","name":"_l2ChainId","nameLocation":"5251:10:164","nodeType":"VariableDeclaration","scope":97911,"src":"5243:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97838,"name":"uint256","nodeType":"ElementaryTypeName","src":"5243:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4938:329:164"},"returnParameters":{"id":97841,"nodeType":"ParameterList","parameters":[],"src":"5268:0:164"},"scope":99927,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":98025,"nodeType":"FunctionDefinition","src":"6198:2903:164","nodes":[],"body":{"id":98024,"nodeType":"Block","src":"6243:2858:164","nodes":[],"statements":[{"condition":{"id":97915,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97780,"src":"6888:11:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97919,"nodeType":"IfStatement","src":"6884:44:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97916,"name":"AlreadyInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103120,"src":"6908:18:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6908:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97918,"nodeType":"RevertStatement","src":"6901:27:164"}},{"assignments":[97922,97924],"declarations":[{"constant":false,"id":97922,"mutability":"mutable","name":"root","nameLocation":"6985:4:164","nodeType":"VariableDeclaration","scope":98024,"src":"6980:9:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"},"typeName":{"id":97921,"nodeType":"UserDefinedTypeName","pathNode":{"id":97920,"name":"Hash","nodeType":"IdentifierPath","referencedDeclaration":103253,"src":"6980:4:164"},"referencedDeclaration":103253,"src":"6980:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":97924,"mutability":"mutable","name":"rootBlockNumber","nameLocation":"6999:15:164","nodeType":"VariableDeclaration","scope":98024,"src":"6991:23:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97923,"name":"uint256","nodeType":"ElementaryTypeName","src":"6991:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97929,"initialValue":{"arguments":[{"id":97927,"name":"GAME_TYPE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97738,"src":"7048:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}],"expression":{"id":97925,"name":"ANCHOR_STATE_REGISTRY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97746,"src":"7018:21:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"id":97926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"anchors","nodeType":"MemberAccess","referencedDeclaration":100134,"src":"7018:29:164","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_userDefinedValueType$_GameType_$103271_$returns$_t_userDefinedValueType$_Hash_$103253_$_t_uint256_$","typeString":"function (GameType) view external returns (Hash,uint256)"}},"id":97928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7018:40:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Hash_$103253_$_t_uint256_$","typeString":"tuple(Hash,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6979:79:164"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":97937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":97930,"name":"root","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97922,"src":"7159:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":97931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"7159:8:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":97932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7159:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":97935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7181:1:164","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":97934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7173:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":97933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7173:7:164","typeDescriptions":{}}},"id":97936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7173:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7159:24:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97941,"nodeType":"IfStatement","src":"7155:57:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97938,"name":"AnchorRootNotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103192,"src":"7192:18:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7192:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97940,"nodeType":"RevertStatement","src":"7185:27:164"}},{"expression":{"id":97947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97942,"name":"startingOutputRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97811,"src":"7264:18:164","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_storage","typeString":"struct OutputRoot storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":97944,"name":"rootBlockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97924,"src":"7313:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":97945,"name":"root","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97922,"src":"7336:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}],"id":97943,"name":"OutputRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103283,"src":"7285:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_OutputRoot_$103283_storage_ptr_$","typeString":"type(struct OutputRoot storage pointer)"}},"id":97946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["l2BlockNumber","root"],"nodeType":"FunctionCall","src":"7285:58:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_memory_ptr","typeString":"struct OutputRoot memory"}},"src":"7264:79:164","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_storage","typeString":"struct OutputRoot storage ref"}},"id":97948,"nodeType":"ExpressionStatement","src":"7264:79:164"},{"AST":{"nodeType":"YulBlock","src":"7933:219:164","statements":[{"body":{"nodeType":"YulBlock","src":"7983:159:164","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8076:4:164","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"8082:10:164","type":"","value":"0x9824bdab"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8069:6:164"},"nodeType":"YulFunctionCall","src":"8069:24:164"},"nodeType":"YulExpressionStatement","src":"8069:24:164"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8117:4:164","type":"","value":"0x1C"},{"kind":"number","nodeType":"YulLiteral","src":"8123:4:164","type":"","value":"0x04"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8110:6:164"},"nodeType":"YulFunctionCall","src":"8110:18:164"},"nodeType":"YulExpressionStatement","src":"8110:18:164"}]},"condition":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"7960:12:164"},"nodeType":"YulFunctionCall","src":"7960:14:164"},{"kind":"number","nodeType":"YulLiteral","src":"7976:4:164","type":"","value":"0x7A"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7957:2:164"},"nodeType":"YulFunctionCall","src":"7957:24:164"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7950:6:164"},"nodeType":"YulFunctionCall","src":"7950:32:164"},"nodeType":"YulIf","src":"7947:195:164"}]},"evmVersion":"london","externalReferences":[],"id":97949,"nodeType":"InlineAssembly","src":"7924:228:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":97950,"name":"l2BlockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98690,"src":"8320:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":97951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8320:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":97952,"name":"rootBlockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97924,"src":"8339:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8320:34:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97959,"nodeType":"IfStatement","src":"8316:79:164","trueBody":{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":97955,"name":"rootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99027,"src":"8383:9:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function () pure returns (Claim)"}},"id":97956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8383:11:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}],"id":97954,"name":"UnexpectedRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103117,"src":"8363:19:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_Claim_$103255_$returns$__$","typeString":"function (Claim) pure"}},"id":97957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8363:32:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97958,"nodeType":"RevertStatement","src":"8356:39:164"}},{"expression":{"arguments":[{"arguments":[{"expression":{"arguments":[{"id":97966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8510:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":97965,"name":"uint32","nodeType":"ElementaryTypeName","src":"8510:6:164","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":97964,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8505:4:164","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":97967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8505:12:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":97968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"8505:16:164","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"hexValue":"30","id":97971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8560:1:164","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":97970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8552:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":97969,"name":"address","nodeType":"ElementaryTypeName","src":"8552:7:164","typeDescriptions":{}}},"id":97972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8552:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":97973,"name":"gameCreator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99010,"src":"8590:11:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_$","typeString":"function () pure returns (address)"}},"id":97974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8590:13:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":97977,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8635:3:164","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":97978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8635:9:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8627:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":97975,"name":"uint128","nodeType":"ElementaryTypeName","src":"8627:7:164","typeDescriptions":{}}},"id":97979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8627:18:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[],"expression":{"argumentTypes":[],"id":97980,"name":"rootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99027,"src":"8670:9:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function () pure returns (Claim)"}},"id":97981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8670:11:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":97982,"name":"ROOT_POSITION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97761,"src":"8709:13:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"arguments":[{"arguments":[{"hexValue":"30","id":97987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8775:1:164","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"}],"expression":{"id":97985,"name":"Duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103263,"src":"8761:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Duration_$103263_$","typeString":"type(Duration)"}},"id":97986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"8761:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (uint64) pure returns (Duration)"}},"id":97988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8761:16:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},{"arguments":[{"arguments":[{"expression":{"id":97993,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8801:5:164","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":97994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"8801:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8794:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":97991,"name":"uint64","nodeType":"ElementaryTypeName","src":"8794:6:164","typeDescriptions":{}}},"id":97995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8794:23:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":97989,"name":"Timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103261,"src":"8779:9:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"type(Timestamp)"}},"id":97990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"8779:14:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"function (uint64) pure returns (Timestamp)"}},"id":97996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8779:39:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}],"expression":{"id":97983,"name":"LibClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101073,"src":"8747:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibClock_$101073_$","typeString":"type(library LibClock)"}},"id":97984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","referencedDeclaration":101037,"src":"8747:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$_t_userDefinedValueType$_Timestamp_$103261_$returns$_t_userDefinedValueType$_Clock_$103267_$","typeString":"function (Duration,Timestamp) pure returns (Clock)"}},"id":97997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8747:72:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}],"id":97963,"name":"ClaimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100523,"src":"8464:9:164","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ClaimData_$100523_storage_ptr_$","typeString":"type(struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":97998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["parentIndex","counteredBy","claimant","bond","claim","position","clock"],"nodeType":"FunctionCall","src":"8464:370:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_memory_ptr","typeString":"struct IFaultDisputeGame.ClaimData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ClaimData_$100523_memory_ptr","typeString":"struct IFaultDisputeGame.ClaimData memory"}],"expression":{"id":97960,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"8436:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":97962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"8436:14:164","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage_ptr_$_t_struct$_ClaimData_$100523_storage_$returns$__$bound_to$_t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage_ptr_$","typeString":"function (struct IFaultDisputeGame.ClaimData storage ref[] storage pointer,struct IFaultDisputeGame.ClaimData storage ref)"}},"id":97999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8436:408:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98000,"nodeType":"ExpressionStatement","src":"8436:408:164"},{"expression":{"id":98003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98001,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97780,"src":"8895:11:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":98002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8909:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8895:18:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98004,"nodeType":"ExpressionStatement","src":"8895:18:164"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":[],"expression":{"id":98005,"name":"WETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97742,"src":"8953:4:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"id":98007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":100691,"src":"8953:12:164","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$__$","typeString":"function () payable external"}},"id":98010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":98008,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8974:3:164","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":98009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8974:9:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8953:32:164","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$__$value","typeString":"function () payable external"}},"id":98011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8953:34:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98012,"nodeType":"ExpressionStatement","src":"8953:34:164"},{"expression":{"id":98022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98013,"name":"createdAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97769,"src":"9043:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":98018,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9077:5:164","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":98019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"9077:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9070:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":98016,"name":"uint64","nodeType":"ElementaryTypeName","src":"9070:6:164","typeDescriptions":{}}},"id":98020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9070:23:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":98014,"name":"Timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103261,"src":"9055:9:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"type(Timestamp)"}},"id":98015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"9055:14:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"function (uint64) pure returns (Timestamp)"}},"id":98021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9055:39:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"src":"9043:51:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"id":98023,"nodeType":"ExpressionStatement","src":"9043:51:164"}]},"baseFunctions":[100615],"documentation":{"id":97912,"nodeType":"StructuredDocumentation","src":"6163:30:164","text":"@inheritdoc IInitializable"},"functionSelector":"8129fc1c","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"6207:10:164","parameters":{"id":97913,"nodeType":"ParameterList","parameters":[],"src":"6217:2:164"},"returnParameters":{"id":97914,"nodeType":"ParameterList","parameters":[],"src":"6243:0:164"},"scope":99927,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":98227,"nodeType":"FunctionDefinition","src":"9353:4442:164","nodes":[],"body":{"id":98226,"nodeType":"Block","src":"9527:4268:164","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"},"id":98040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98037,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97777,"src":"9626:6:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":98038,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103277,"src":"9636:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$103277_$","typeString":"type(enum GameStatus)"}},"id":98039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"IN_PROGRESS","nodeType":"MemberAccess","referencedDeclaration":103274,"src":"9636:22:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"src":"9626:32:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98044,"nodeType":"IfStatement","src":"9622:64:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98041,"name":"GameNotInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103144,"src":"9667:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9667:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98043,"nodeType":"RevertStatement","src":"9660:26:164"}},{"assignments":[98047],"declarations":[{"constant":false,"id":98047,"mutability":"mutable","name":"parent","nameLocation":"9795:6:164","nodeType":"VariableDeclaration","scope":98226,"src":"9777:24:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":98046,"nodeType":"UserDefinedTypeName","pathNode":{"id":98045,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"9777:9:164"},"referencedDeclaration":100523,"src":"9777:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":98051,"initialValue":{"baseExpression":{"id":98048,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"9804:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":98050,"indexExpression":{"id":98049,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98028,"src":"9814:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9804:22:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9777:49:164"},{"assignments":[98054],"declarations":[{"constant":false,"id":98054,"mutability":"mutable","name":"parentPos","nameLocation":"9898:9:164","nodeType":"VariableDeclaration","scope":98226,"src":"9889:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":98053,"nodeType":"UserDefinedTypeName","pathNode":{"id":98052,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"9889:8:164"},"referencedDeclaration":103269,"src":"9889:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":98057,"initialValue":{"expression":{"id":98055,"name":"parent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98047,"src":"9910:6:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"9910:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"nodeType":"VariableDeclarationStatement","src":"9889:36:164"},{"assignments":[98060],"declarations":[{"constant":false,"id":98060,"mutability":"mutable","name":"stepPos","nameLocation":"9991:7:164","nodeType":"VariableDeclaration","scope":98226,"src":"9982:16:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":98059,"nodeType":"UserDefinedTypeName","pathNode":{"id":98058,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"9982:8:164"},"referencedDeclaration":103269,"src":"9982:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":98065,"initialValue":{"arguments":[{"id":98063,"name":"_isAttack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98030,"src":"10016:9:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":98061,"name":"parentPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98054,"src":"10001:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"move","nodeType":"MemberAccess","referencedDeclaration":101006,"src":"10001:14:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$_t_bool_$returns$_t_userDefinedValueType$_Position_$103269_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position,bool) pure returns (Position)"}},"id":98064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10001:25:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"nodeType":"VariableDeclarationStatement","src":"9982:44:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98066,"name":"stepPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98060,"src":"10142:7:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":100833,"src":"10142:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint8)"}},"id":98068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10142:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98069,"name":"MAX_GAME_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97723,"src":"10161:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":98070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10178:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10161:18:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10142:37:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98076,"nodeType":"IfStatement","src":"10138:65:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98073,"name":"InvalidParent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103156,"src":"10188:13:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10188:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98075,"nodeType":"RevertStatement","src":"10181:22:164"}},{"assignments":[98079],"declarations":[{"constant":false,"id":98079,"mutability":"mutable","name":"preStateClaim","nameLocation":"10285:13:164","nodeType":"VariableDeclaration","scope":98226,"src":"10279:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":98078,"nodeType":"UserDefinedTypeName","pathNode":{"id":98077,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"10279:5:164"},"referencedDeclaration":103255,"src":"10279:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"}],"id":98080,"nodeType":"VariableDeclarationStatement","src":"10279:19:164"},{"assignments":[98083],"declarations":[{"constant":false,"id":98083,"mutability":"mutable","name":"postState","nameLocation":"10326:9:164","nodeType":"VariableDeclaration","scope":98226,"src":"10308:27:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":98082,"nodeType":"UserDefinedTypeName","pathNode":{"id":98081,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"10308:9:164"},"referencedDeclaration":100523,"src":"10308:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":98084,"nodeType":"VariableDeclarationStatement","src":"10308:27:164"},{"condition":{"id":98085,"name":"_isAttack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98030,"src":"10349:9:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":98145,"nodeType":"Block","src":"11374:314:164","statements":[{"expression":{"id":98127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98124,"name":"preStateClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98079,"src":"11542:13:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":98125,"name":"parent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98047,"src":"11558:6:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claim","nodeType":"MemberAccess","referencedDeclaration":100516,"src":"11558:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"src":"11542:28:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":98128,"nodeType":"ExpressionStatement","src":"11542:28:164"},{"expression":{"id":98143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98129,"name":"postState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98083,"src":"11584:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":98137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98133,"name":"parentPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98054,"src":"11629:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"11629:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":98135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11629:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":98136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11647:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11629:19:164","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":98131,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103269,"src":"11615:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Position_$103269_$","typeString":"type(Position)"}},"id":98132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"11615:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint128) pure returns (Position)"}},"id":98138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11615:34:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"expression":{"id":98139,"name":"parent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98047,"src":"11651:6:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"parentIndex","nodeType":"MemberAccess","referencedDeclaration":100507,"src":"11651:18:164","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"66616c7365","id":98141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11671:5:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":98130,"name":"_findTraceAncestor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99638,"src":"11596:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Position_$103269_$_t_uint256_$_t_bool_$returns$_t_struct$_ClaimData_$100523_storage_ptr_$","typeString":"function (Position,uint256,bool) view returns (struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":98142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11596:81:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"src":"11584:93:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98144,"nodeType":"ExpressionStatement","src":"11584:93:164"}]},"id":98146,"nodeType":"IfStatement","src":"10345:1343:164","trueBody":{"id":98123,"nodeType":"Block","src":"10360:1008:164","statements":[{"expression":{"id":98117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98086,"name":"preStateClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98079,"src":"11031:13:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98087,"name":"stepPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98060,"src":"11048:7:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"indexAtDepth","nodeType":"MemberAccess","referencedDeclaration":100850,"src":"11048:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":98089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11048:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":98090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11074:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98091,"name":"MAX_GAME_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97723,"src":"11080:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":98092,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"11097:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11080:28:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":98094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11079:30:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11074:35:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":98096,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11073:37:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11048:62:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":98098,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11047:64:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":98099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11115:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11047:69:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":98109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98105,"name":"parentPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98054,"src":"11204:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"11204:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":98107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11204:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":98108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11222:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11204:19:164","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":98103,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103269,"src":"11190:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Position_$103269_$","typeString":"type(Position)"}},"id":98104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"11190:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint128) pure returns (Position)"}},"id":98110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11190:34:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"expression":{"id":98111,"name":"parent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98047,"src":"11226:6:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"parentIndex","nodeType":"MemberAccess","referencedDeclaration":100507,"src":"11226:18:164","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"66616c7365","id":98113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11246:5:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":98102,"name":"_findTraceAncestor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99638,"src":"11171:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Position_$103269_$_t_uint256_$_t_bool_$returns$_t_struct$_ClaimData_$100523_storage_ptr_$","typeString":"function (Position,uint256,bool) view returns (struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":98114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11171:81:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claim","nodeType":"MemberAccess","referencedDeclaration":100516,"src":"11171:87:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":98116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11047:211:164","trueExpression":{"id":98101,"name":"ABSOLUTE_PRESTATE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97720,"src":"11135:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"src":"11031:227:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":98118,"nodeType":"ExpressionStatement","src":"11031:227:164"},{"expression":{"id":98121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98119,"name":"postState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98083,"src":"11339:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":98120,"name":"parent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98047,"src":"11351:6:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"src":"11339:18:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98122,"nodeType":"ExpressionStatement","src":"11339:18:164"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":98157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":98151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":98148,"name":"_stateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98032,"src":"12041:10:164","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":98147,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12031:9:164","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":98149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12031:21:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":98150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12056:1:164","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12031:26:164","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":98156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98152,"name":"preStateClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98079,"src":"12061:13:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":98153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101085,"src":"12061:17:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$103255_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function (Claim) pure returns (bytes32)"}},"id":98154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12061:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":98155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12084:1:164","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12061:24:164","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12031:54:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98161,"nodeType":"IfStatement","src":"12027:84:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98158,"name":"InvalidPrestate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103159,"src":"12094:15:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12094:17:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98160,"nodeType":"RevertStatement","src":"12087:24:164"}},{"assignments":[98164],"declarations":[{"constant":false,"id":98164,"mutability":"mutable","name":"uuid","nameLocation":"12187:4:164","nodeType":"VariableDeclaration","scope":98226,"src":"12182:9:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"},"typeName":{"id":98163,"nodeType":"UserDefinedTypeName","pathNode":{"id":98162,"name":"Hash","nodeType":"IdentifierPath","referencedDeclaration":103253,"src":"12182:4:164"},"referencedDeclaration":103253,"src":"12182:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"visibility":"internal"}],"id":98168,"initialValue":{"arguments":[{"id":98166,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98028,"src":"12212:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98165,"name":"_findLocalContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99875,"src":"12194:17:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (uint256) view returns (Hash)"}},"id":98167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12194:30:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"nodeType":"VariableDeclarationStatement","src":"12182:42:164"},{"assignments":[98170],"declarations":[{"constant":false,"id":98170,"mutability":"mutable","name":"validStep","nameLocation":"13202:9:164","nodeType":"VariableDeclaration","scope":98226,"src":"13197:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":98169,"name":"bool","nodeType":"ElementaryTypeName","src":"13197:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":98184,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":98183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":98173,"name":"_stateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98032,"src":"13222:10:164","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":98174,"name":"_proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98034,"src":"13234:6:164","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98175,"name":"uuid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98164,"src":"13242:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":98176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"13242:8:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":98177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13242:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":98171,"name":"VM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97734,"src":"13214:2:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"id":98172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"step","nodeType":"MemberAccess","referencedDeclaration":100163,"src":"13214:7:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes memory,bytes memory,bytes32) external returns (bytes32)"}},"id":98178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13214:39:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":98179,"name":"postState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98083,"src":"13257:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claim","nodeType":"MemberAccess","referencedDeclaration":100516,"src":"13257:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":98181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101085,"src":"13257:19:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$103255_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function (Claim) pure returns (bytes32)"}},"id":98182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13257:21:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13214:64:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13197:81:164"},{"assignments":[98186],"declarations":[{"constant":false,"id":98186,"mutability":"mutable","name":"parentPostAgree","nameLocation":"13293:15:164","nodeType":"VariableDeclaration","scope":98226,"src":"13288:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":98185,"name":"bool","nodeType":"ElementaryTypeName","src":"13288:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":98200,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":98199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":98197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":98194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98187,"name":"parentPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98054,"src":"13312:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":100833,"src":"13312:15:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint8)"}},"id":98189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13312:17:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":98190,"name":"postState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98083,"src":"13332:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"13332:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":100833,"src":"13332:24:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint8)"}},"id":98193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13332:26:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13312:46:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":98195,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13311:48:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"32","id":98196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13362:1:164","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"13311:52:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":98198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13367:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13311:57:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13288:80:164"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":98203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98201,"name":"parentPostAgree","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98186,"src":"13382:15:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98202,"name":"validStep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98170,"src":"13401:9:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13382:28:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98207,"nodeType":"IfStatement","src":"13378:52:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98204,"name":"ValidStep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103162,"src":"13419:9:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13419:11:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98206,"nodeType":"RevertStatement","src":"13412:18:164"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":98214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":98208,"name":"parent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98047,"src":"13524:6:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"counteredBy","nodeType":"MemberAccess","referencedDeclaration":100509,"src":"13524:18:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":98212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13554:1:164","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":98211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13546:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":98210,"name":"address","nodeType":"ElementaryTypeName","src":"13546:7:164","typeDescriptions":{}}},"id":98213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13546:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13524:32:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98218,"nodeType":"IfStatement","src":"13520:60:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98215,"name":"DuplicateStep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103189,"src":"13565:13:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13565:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98217,"nodeType":"RevertStatement","src":"13558:22:164"}},{"expression":{"id":98224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":98219,"name":"parent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98047,"src":"13757:6:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"counteredBy","nodeType":"MemberAccess","referencedDeclaration":100509,"src":"13757:18:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":98222,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13778:3:164","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":98223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13778:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13757:31:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":98225,"nodeType":"ExpressionStatement","src":"13757:31:164"}]},"baseFunctions":[100563],"documentation":{"id":98026,"nodeType":"StructuredDocumentation","src":"9315:33:164","text":"@inheritdoc IFaultDisputeGame"},"functionSelector":"d8cc1a3c","implemented":true,"kind":"function","modifiers":[],"name":"step","nameLocation":"9362:4:164","parameters":{"id":98035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98028,"mutability":"mutable","name":"_claimIndex","nameLocation":"9384:11:164","nodeType":"VariableDeclaration","scope":98227,"src":"9376:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98027,"name":"uint256","nodeType":"ElementaryTypeName","src":"9376:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":98030,"mutability":"mutable","name":"_isAttack","nameLocation":"9410:9:164","nodeType":"VariableDeclaration","scope":98227,"src":"9405:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":98029,"name":"bool","nodeType":"ElementaryTypeName","src":"9405:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":98032,"mutability":"mutable","name":"_stateData","nameLocation":"9444:10:164","nodeType":"VariableDeclaration","scope":98227,"src":"9429:25:164","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":98031,"name":"bytes","nodeType":"ElementaryTypeName","src":"9429:5:164","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":98034,"mutability":"mutable","name":"_proof","nameLocation":"9479:6:164","nodeType":"VariableDeclaration","scope":98227,"src":"9464:21:164","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":98033,"name":"bytes","nodeType":"ElementaryTypeName","src":"9464:5:164","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9366:125:164"},"returnParameters":{"id":98036,"nodeType":"ParameterList","parameters":[],"src":"9527:0:164"},"scope":99927,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":98470,"nodeType":"FunctionDefinition","src":"14106:5200:164","nodes":[],"body":{"id":98469,"nodeType":"Block","src":"14198:5108:164","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"},"id":98241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98238,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97777,"src":"14297:6:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":98239,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103277,"src":"14307:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$103277_$","typeString":"type(enum GameStatus)"}},"id":98240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"IN_PROGRESS","nodeType":"MemberAccess","referencedDeclaration":103274,"src":"14307:22:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"src":"14297:32:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98245,"nodeType":"IfStatement","src":"14293:64:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98242,"name":"GameNotInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103144,"src":"14338:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14338:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98244,"nodeType":"RevertStatement","src":"14331:26:164"}},{"assignments":[98248],"declarations":[{"constant":false,"id":98248,"mutability":"mutable","name":"parent","nameLocation":"14465:6:164","nodeType":"VariableDeclaration","scope":98469,"src":"14448:23:164","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_memory_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":98247,"nodeType":"UserDefinedTypeName","pathNode":{"id":98246,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"14448:9:164"},"referencedDeclaration":100523,"src":"14448:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":98252,"initialValue":{"baseExpression":{"id":98249,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"14474:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":98251,"indexExpression":{"id":98250,"name":"_challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98230,"src":"14484:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14474:26:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14448:52:164"},{"assignments":[98255],"declarations":[{"constant":false,"id":98255,"mutability":"mutable","name":"parentPos","nameLocation":"14768:9:164","nodeType":"VariableDeclaration","scope":98469,"src":"14759:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":98254,"nodeType":"UserDefinedTypeName","pathNode":{"id":98253,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"14759:8:164"},"referencedDeclaration":103269,"src":"14759:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":98258,"initialValue":{"expression":{"id":98256,"name":"parent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98248,"src":"14780:6:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_memory_ptr","typeString":"struct IFaultDisputeGame.ClaimData memory"}},"id":98257,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"14780:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"nodeType":"VariableDeclarationStatement","src":"14759:36:164"},{"assignments":[98261],"declarations":[{"constant":false,"id":98261,"mutability":"mutable","name":"nextPosition","nameLocation":"14814:12:164","nodeType":"VariableDeclaration","scope":98469,"src":"14805:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":98260,"nodeType":"UserDefinedTypeName","pathNode":{"id":98259,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"14805:8:164"},"referencedDeclaration":103269,"src":"14805:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":98266,"initialValue":{"arguments":[{"id":98264,"name":"_isAttack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98235,"src":"14844:9:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":98262,"name":"parentPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98255,"src":"14829:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"move","nodeType":"MemberAccess","referencedDeclaration":101006,"src":"14829:14:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$_t_bool_$returns$_t_userDefinedValueType$_Position_$103269_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position,bool) pure returns (Position)"}},"id":98265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14829:25:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"nodeType":"VariableDeclarationStatement","src":"14805:49:164"},{"assignments":[98268],"declarations":[{"constant":false,"id":98268,"mutability":"mutable","name":"nextPositionDepth","nameLocation":"14872:17:164","nodeType":"VariableDeclaration","scope":98469,"src":"14864:25:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98267,"name":"uint256","nodeType":"ElementaryTypeName","src":"14864:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":98272,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98269,"name":"nextPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98261,"src":"14892:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":100833,"src":"14892:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint8)"}},"id":98271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14892:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"14864:48:164"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":98285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":98281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98273,"name":"_challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98230,"src":"15259:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":98274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15278:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15259:20:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98276,"name":"nextPositionDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98268,"src":"15283:17:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98277,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"15304:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":98278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15318:1:164","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"15304:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15283:36:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15259:60:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":98282,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15258:62:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":98284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15324:10:164","subExpression":{"id":98283,"name":"_isAttack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98235,"src":"15325:9:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15258:76:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98290,"nodeType":"IfStatement","src":"15254:137:164","trueBody":{"id":98289,"nodeType":"Block","src":"15336:55:164","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98286,"name":"CannotDefendRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103135,"src":"15357:21:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15357:23:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98288,"nodeType":"RevertStatement","src":"15350:30:164"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98291,"name":"nextPositionDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98268,"src":"15732:17:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":98292,"name":"MAX_GAME_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97723,"src":"15752:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15732:34:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98297,"nodeType":"IfStatement","src":"15728:66:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98294,"name":"GameDepthExceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103153,"src":"15775:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15775:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98296,"nodeType":"RevertStatement","src":"15768:26:164"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98298,"name":"nextPositionDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98268,"src":"16001:17:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98299,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"16022:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":98300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16036:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16022:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16001:36:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98311,"nodeType":"IfStatement","src":"15997:138:164","trueBody":{"id":98310,"nodeType":"Block","src":"16039:96:164","statements":[{"expression":{"arguments":[{"id":98304,"name":"_claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98233,"src":"16078:6:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":98305,"name":"_challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98230,"src":"16086:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":98306,"name":"parentPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98255,"src":"16103:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":98307,"name":"_isAttack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98235,"src":"16114:9:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":98303,"name":"_verifyExecBisectionRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99587,"src":"16053:24:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Claim_$103255_$_t_uint256_$_t_userDefinedValueType$_Position_$103269_$_t_bool_$returns$__$","typeString":"function (Claim,uint256,Position,bool) view"}},"id":98308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16053:71:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98309,"nodeType":"ExpressionStatement","src":"16053:71:164"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":98313,"name":"nextPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98261,"src":"16241:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}],"id":98312,"name":"getRequiredBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99215,"src":"16225:15:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint256_$","typeString":"function (Position) view returns (uint256)"}},"id":98314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16225:29:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":98315,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16258:3:164","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":98316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"16258:9:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16225:42:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98321,"nodeType":"IfStatement","src":"16221:76:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98318,"name":"IncorrectBondAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103123,"src":"16276:19:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16276:21:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98320,"nodeType":"RevertStatement","src":"16269:28:164"}},{"assignments":[98324],"declarations":[{"constant":false,"id":98324,"mutability":"mutable","name":"nextDuration","nameLocation":"16539:12:164","nodeType":"VariableDeclaration","scope":98469,"src":"16530:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":98323,"nodeType":"UserDefinedTypeName","pathNode":{"id":98322,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"16530:8:164"},"referencedDeclaration":103263,"src":"16530:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"}],"id":98328,"initialValue":{"arguments":[{"id":98326,"name":"_challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98230,"src":"16576:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98325,"name":"getChallengerDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99348,"src":"16554:21:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (uint256) view returns (Duration)"}},"id":98327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16554:38:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"nodeType":"VariableDeclarationStatement","src":"16530:62:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":98335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98329,"name":"nextDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98324,"src":"16742:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"16742:16:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16742:18:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98332,"name":"MAX_CLOCK_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97730,"src":"16764:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"16764:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16764:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"16742:46:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98339,"nodeType":"IfStatement","src":"16738:78:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98336,"name":"ClockTimeExceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103147,"src":"16797:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16797:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98338,"nodeType":"RevertStatement","src":"16790:26:164"}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":98350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98340,"name":"nextDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98324,"src":"17477:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"17477:16:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17477:18:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":98349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98343,"name":"MAX_CLOCK_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97730,"src":"17498:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"17498:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17498:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98346,"name":"CLOCK_EXTENSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"17525:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"17525:19:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17525:21:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"17498:48:164","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"17477:69:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98380,"nodeType":"IfStatement","src":"17473:424:164","trueBody":{"id":98379,"nodeType":"Block","src":"17548:349:164","statements":[{"assignments":[98352],"declarations":[{"constant":false,"id":98352,"mutability":"mutable","name":"extensionPeriod","nameLocation":"17678:15:164","nodeType":"VariableDeclaration","scope":98379,"src":"17671:22:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":98351,"name":"uint64","nodeType":"ElementaryTypeName","src":"17671:6:164","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":98367,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98353,"name":"nextPositionDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98268,"src":"17712:17:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98354,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"17733:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":98355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17747:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17733:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17712:36:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98363,"name":"CLOCK_EXTENSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"17779:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"17779:19:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17779:21:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":98366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"17712:88:164","trueExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":98362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98358,"name":"CLOCK_EXTENSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"17751:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"17751:19:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17751:21:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":98361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17775:1:164","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"17751:25:164","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"17671:129:164"},{"expression":{"id":98377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98368,"name":"nextDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98324,"src":"17814:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":98375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98371,"name":"MAX_CLOCK_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97730,"src":"17843:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"17843:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17843:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":98374,"name":"extensionPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98352,"src":"17870:15:164","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"17843:42:164","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":98369,"name":"Duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103263,"src":"17829:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Duration_$103263_$","typeString":"type(Duration)"}},"id":98370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"17829:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (uint64) pure returns (Duration)"}},"id":98376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17829:57:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"src":"17814:72:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98378,"nodeType":"ExpressionStatement","src":"17814:72:164"}]}},{"assignments":[98383],"declarations":[{"constant":false,"id":98383,"mutability":"mutable","name":"nextClock","nameLocation":"18004:9:164","nodeType":"VariableDeclaration","scope":98469,"src":"17998:15:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"},"typeName":{"id":98382,"nodeType":"UserDefinedTypeName","pathNode":{"id":98381,"name":"Clock","nodeType":"IdentifierPath","referencedDeclaration":103267,"src":"17998:5:164"},"referencedDeclaration":103267,"src":"17998:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}},"visibility":"internal"}],"id":98396,"initialValue":{"arguments":[{"id":98386,"name":"nextDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98324,"src":"18030:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},{"arguments":[{"arguments":[{"expression":{"id":98391,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"18066:5:164","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":98392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"18066:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18059:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":98389,"name":"uint64","nodeType":"ElementaryTypeName","src":"18059:6:164","typeDescriptions":{}}},"id":98393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18059:23:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":98387,"name":"Timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103261,"src":"18044:9:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"type(Timestamp)"}},"id":98388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"18044:14:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"function (uint64) pure returns (Timestamp)"}},"id":98394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18044:39:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}],"expression":{"id":98384,"name":"LibClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101073,"src":"18016:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibClock_$101073_$","typeString":"type(library LibClock)"}},"id":98385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","referencedDeclaration":101037,"src":"18016:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$_t_userDefinedValueType$_Timestamp_$103261_$returns$_t_userDefinedValueType$_Clock_$103267_$","typeString":"function (Duration,Timestamp) pure returns (Clock)"}},"id":98395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18016:68:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}},"nodeType":"VariableDeclarationStatement","src":"17998:86:164"},{"assignments":[98399],"declarations":[{"constant":false,"id":98399,"mutability":"mutable","name":"claimHash","nameLocation":"18378:9:164","nodeType":"VariableDeclaration","scope":98469,"src":"18368:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ClaimHash_$103257","typeString":"ClaimHash"},"typeName":{"id":98398,"nodeType":"UserDefinedTypeName","pathNode":{"id":98397,"name":"ClaimHash","nodeType":"IdentifierPath","referencedDeclaration":103257,"src":"18368:9:164"},"referencedDeclaration":103257,"src":"18368:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ClaimHash_$103257","typeString":"ClaimHash"}},"visibility":"internal"}],"id":98405,"initialValue":{"arguments":[{"id":98402,"name":"nextPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98261,"src":"18410:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":98403,"name":"_challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98230,"src":"18424:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":98400,"name":"_claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98233,"src":"18390:6:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":98401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hashClaimPos","nodeType":"MemberAccess","referencedDeclaration":100799,"src":"18390:19:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$_t_uint256_$returns$_t_userDefinedValueType$_ClaimHash_$103257_$bound_to$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function (Claim,Position,uint256) pure returns (ClaimHash)"}},"id":98404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18390:50:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ClaimHash_$103257","typeString":"ClaimHash"}},"nodeType":"VariableDeclarationStatement","src":"18368:72:164"},{"condition":{"baseExpression":{"id":98406,"name":"claims","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97796,"src":"18454:6:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_ClaimHash_$103257_$_t_bool_$","typeString":"mapping(ClaimHash => bool)"}},"id":98408,"indexExpression":{"id":98407,"name":"claimHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98399,"src":"18461:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ClaimHash_$103257","typeString":"ClaimHash"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18454:17:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98412,"nodeType":"IfStatement","src":"18450:50:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98409,"name":"ClaimAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103138,"src":"18480:18:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18480:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98411,"nodeType":"RevertStatement","src":"18473:27:164"}},{"expression":{"id":98417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":98413,"name":"claims","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97796,"src":"18510:6:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_ClaimHash_$103257_$_t_bool_$","typeString":"mapping(ClaimHash => bool)"}},"id":98415,"indexExpression":{"id":98414,"name":"claimHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98399,"src":"18517:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ClaimHash_$103257","typeString":"ClaimHash"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18510:17:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":98416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18530:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"18510:24:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98418,"nodeType":"ExpressionStatement","src":"18510:24:164"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":98425,"name":"_challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98230,"src":"18654:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18647:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":98423,"name":"uint32","nodeType":"ElementaryTypeName","src":"18647:6:164","typeDescriptions":{}}},"id":98426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18647:23:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"hexValue":"30","id":98429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18770:1:164","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":98428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18762:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":98427,"name":"address","nodeType":"ElementaryTypeName","src":"18762:7:164","typeDescriptions":{}}},"id":98430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18762:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":98431,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18800:3:164","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":98432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"18800:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":98435,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18842:3:164","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":98436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"18842:9:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18834:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":98433,"name":"uint128","nodeType":"ElementaryTypeName","src":"18834:7:164","typeDescriptions":{}}},"id":98437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18834:18:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":98438,"name":"_claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98233,"src":"18877:6:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":98439,"name":"nextPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98261,"src":"18911:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":98440,"name":"nextClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98383,"src":"18948:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}],"id":98422,"name":"ClaimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100523,"src":"18606:9:164","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ClaimData_$100523_storage_ptr_$","typeString":"type(struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":98441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["parentIndex","counteredBy","claimant","bond","claim","position","clock"],"nodeType":"FunctionCall","src":"18606:366:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_memory_ptr","typeString":"struct IFaultDisputeGame.ClaimData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ClaimData_$100523_memory_ptr","typeString":"struct IFaultDisputeGame.ClaimData memory"}],"expression":{"id":98419,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"18578:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":98421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"18578:14:164","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage_ptr_$_t_struct$_ClaimData_$100523_storage_$returns$__$bound_to$_t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage_ptr_$","typeString":"function (struct IFaultDisputeGame.ClaimData storage ref[] storage pointer,struct IFaultDisputeGame.ClaimData storage ref)"}},"id":98442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18578:404:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98443,"nodeType":"ExpressionStatement","src":"18578:404:164"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":98448,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"19082:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":98449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"19082:16:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":98450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19101:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19082:20:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":98444,"name":"subgames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97802,"src":"19051:8:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[] storage ref)"}},"id":98446,"indexExpression":{"id":98445,"name":"_challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98230,"src":"19060:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19051:25:164","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":98447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"19051:30:164","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":98452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19051:52:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98453,"nodeType":"ExpressionStatement","src":"19051:52:164"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":[],"expression":{"id":98454,"name":"WETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97742,"src":"19143:4:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"id":98456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":100691,"src":"19143:12:164","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$__$","typeString":"function () payable external"}},"id":98459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":98457,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19164:3:164","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":98458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"19164:9:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"19143:32:164","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$__$value","typeString":"function () payable external"}},"id":98460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19143:34:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98461,"nodeType":"ExpressionStatement","src":"19143:34:164"},{"eventCall":{"arguments":[{"id":98463,"name":"_challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98230,"src":"19263:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":98464,"name":"_claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98233,"src":"19280:6:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"expression":{"id":98465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19288:3:164","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":98466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"19288:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_address","typeString":"address"}],"id":98462,"name":"Move","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100533,"src":"19258:4:164","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_userDefinedValueType$_Claim_$103255_$_t_address_$returns$__$","typeString":"function (uint256,Claim,address)"}},"id":98467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19258:41:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98468,"nodeType":"EmitStatement","src":"19253:46:164"}]},"documentation":{"id":98228,"nodeType":"StructuredDocumentation","src":"13801:300:164","text":"@notice Generic move function, used for both `attack` and `defend` moves.\n @param _challengeIndex The index of the claim being moved against.\n @param _claim The claim at the next logical position in the game.\n @param _isAttack Whether or not the move is an attack or defense."},"functionSelector":"632247ea","implemented":true,"kind":"function","modifiers":[],"name":"move","nameLocation":"14115:4:164","parameters":{"id":98236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98230,"mutability":"mutable","name":"_challengeIndex","nameLocation":"14128:15:164","nodeType":"VariableDeclaration","scope":98470,"src":"14120:23:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98229,"name":"uint256","nodeType":"ElementaryTypeName","src":"14120:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":98233,"mutability":"mutable","name":"_claim","nameLocation":"14151:6:164","nodeType":"VariableDeclaration","scope":98470,"src":"14145:12:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":98232,"nodeType":"UserDefinedTypeName","pathNode":{"id":98231,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"14145:5:164"},"referencedDeclaration":103255,"src":"14145:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":98235,"mutability":"mutable","name":"_isAttack","nameLocation":"14164:9:164","nodeType":"VariableDeclaration","scope":98470,"src":"14159:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":98234,"name":"bool","nodeType":"ElementaryTypeName","src":"14159:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14119:55:164"},"returnParameters":{"id":98237,"nodeType":"ParameterList","parameters":[],"src":"14198:0:164"},"scope":99927,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":98486,"nodeType":"FunctionDefinition","src":"19350:118:164","nodes":[],"body":{"id":98485,"nodeType":"Block","src":"19419:49:164","nodes":[],"statements":[{"expression":{"arguments":[{"id":98480,"name":"_parentIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98473,"src":"19434:12:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":98481,"name":"_claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98476,"src":"19448:6:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"hexValue":"74727565","id":98482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19456:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":98479,"name":"move","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98470,"src":"19429:4:164","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_userDefinedValueType$_Claim_$103255_$_t_bool_$returns$__$","typeString":"function (uint256,Claim,bool)"}},"id":98483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19429:32:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98484,"nodeType":"ExpressionStatement","src":"19429:32:164"}]},"baseFunctions":[100542],"documentation":{"id":98471,"nodeType":"StructuredDocumentation","src":"19312:33:164","text":"@inheritdoc IFaultDisputeGame"},"functionSelector":"c55cd0c7","implemented":true,"kind":"function","modifiers":[],"name":"attack","nameLocation":"19359:6:164","parameters":{"id":98477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98473,"mutability":"mutable","name":"_parentIndex","nameLocation":"19374:12:164","nodeType":"VariableDeclaration","scope":98486,"src":"19366:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98472,"name":"uint256","nodeType":"ElementaryTypeName","src":"19366:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":98476,"mutability":"mutable","name":"_claim","nameLocation":"19394:6:164","nodeType":"VariableDeclaration","scope":98486,"src":"19388:12:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":98475,"nodeType":"UserDefinedTypeName","pathNode":{"id":98474,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"19388:5:164"},"referencedDeclaration":103255,"src":"19388:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"}],"src":"19365:36:164"},"returnParameters":{"id":98478,"nodeType":"ParameterList","parameters":[],"src":"19419:0:164"},"scope":99927,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":98502,"nodeType":"FunctionDefinition","src":"19512:119:164","nodes":[],"body":{"id":98501,"nodeType":"Block","src":"19581:50:164","nodes":[],"statements":[{"expression":{"arguments":[{"id":98496,"name":"_parentIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98489,"src":"19596:12:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":98497,"name":"_claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98492,"src":"19610:6:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"hexValue":"66616c7365","id":98498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19618:5:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":98495,"name":"move","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98470,"src":"19591:4:164","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_userDefinedValueType$_Claim_$103255_$_t_bool_$returns$__$","typeString":"function (uint256,Claim,bool)"}},"id":98499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19591:33:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98500,"nodeType":"ExpressionStatement","src":"19591:33:164"}]},"baseFunctions":[100551],"documentation":{"id":98487,"nodeType":"StructuredDocumentation","src":"19474:33:164","text":"@inheritdoc IFaultDisputeGame"},"functionSelector":"35fef567","implemented":true,"kind":"function","modifiers":[],"name":"defend","nameLocation":"19521:6:164","parameters":{"id":98493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98489,"mutability":"mutable","name":"_parentIndex","nameLocation":"19536:12:164","nodeType":"VariableDeclaration","scope":98502,"src":"19528:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98488,"name":"uint256","nodeType":"ElementaryTypeName","src":"19528:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":98492,"mutability":"mutable","name":"_claim","nameLocation":"19556:6:164","nodeType":"VariableDeclaration","scope":98502,"src":"19550:12:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":98491,"nodeType":"UserDefinedTypeName","pathNode":{"id":98490,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"19550:5:164"},"referencedDeclaration":103255,"src":"19550:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"}],"src":"19527:36:164"},"returnParameters":{"id":98494,"nodeType":"ParameterList","parameters":[],"src":"19581:0:164"},"scope":99927,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":98677,"nodeType":"FunctionDefinition","src":"19675:2011:164","nodes":[],"body":{"id":98676,"nodeType":"Block","src":"19765:1921:164","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"},"id":98515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98512,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97777,"src":"19868:6:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":98513,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103277,"src":"19878:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$103277_$","typeString":"type(enum GameStatus)"}},"id":98514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"IN_PROGRESS","nodeType":"MemberAccess","referencedDeclaration":103274,"src":"19878:22:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"src":"19868:32:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98519,"nodeType":"IfStatement","src":"19864:64:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98516,"name":"GameNotInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103144,"src":"19909:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19909:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98518,"nodeType":"RevertStatement","src":"19902:26:164"}},{"assignments":[98522,98525,98528,98531],"declarations":[{"constant":false,"id":98522,"mutability":"mutable","name":"starting","nameLocation":"19946:8:164","nodeType":"VariableDeclaration","scope":98676,"src":"19940:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":98521,"nodeType":"UserDefinedTypeName","pathNode":{"id":98520,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"19940:5:164"},"referencedDeclaration":103255,"src":"19940:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":98525,"mutability":"mutable","name":"startingPos","nameLocation":"19965:11:164","nodeType":"VariableDeclaration","scope":98676,"src":"19956:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":98524,"nodeType":"UserDefinedTypeName","pathNode":{"id":98523,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"19956:8:164"},"referencedDeclaration":103269,"src":"19956:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"},{"constant":false,"id":98528,"mutability":"mutable","name":"disputed","nameLocation":"19984:8:164","nodeType":"VariableDeclaration","scope":98676,"src":"19978:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":98527,"nodeType":"UserDefinedTypeName","pathNode":{"id":98526,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"19978:5:164"},"referencedDeclaration":103255,"src":"19978:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":98531,"mutability":"mutable","name":"disputedPos","nameLocation":"20003:11:164","nodeType":"VariableDeclaration","scope":98676,"src":"19994:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":98530,"nodeType":"UserDefinedTypeName","pathNode":{"id":98529,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"19994:8:164"},"referencedDeclaration":103269,"src":"19994:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":98535,"initialValue":{"arguments":[{"id":98533,"name":"_execLeafIdx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98507,"src":"20062:12:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98532,"name":"_findStartingAndDisputedOutputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99840,"src":"20030:31:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint256) view returns (Claim,Position,Claim,Position)"}},"id":98534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20030:45:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position,Claim,Position)"}},"nodeType":"VariableDeclarationStatement","src":"19939:136:164"},{"assignments":[98538],"declarations":[{"constant":false,"id":98538,"mutability":"mutable","name":"uuid","nameLocation":"20090:4:164","nodeType":"VariableDeclaration","scope":98676,"src":"20085:9:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"},"typeName":{"id":98537,"nodeType":"UserDefinedTypeName","pathNode":{"id":98536,"name":"Hash","nodeType":"IdentifierPath","referencedDeclaration":103253,"src":"20085:4:164"},"referencedDeclaration":103253,"src":"20085:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"visibility":"internal"}],"id":98545,"initialValue":{"arguments":[{"id":98540,"name":"starting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98522,"src":"20118:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":98541,"name":"startingPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98525,"src":"20128:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":98542,"name":"disputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98528,"src":"20141:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":98543,"name":"disputedPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98531,"src":"20151:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}],"id":98539,"name":"_computeLocalContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99926,"src":"20097:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$returns$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Claim,Position,Claim,Position) pure returns (Hash)"}},"id":98544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20097:66:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"nodeType":"VariableDeclarationStatement","src":"20085:78:164"},{"assignments":[98548],"declarations":[{"constant":false,"id":98548,"mutability":"mutable","name":"oracle","nameLocation":"20190:6:164","nodeType":"VariableDeclaration","scope":98676,"src":"20174:22:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$96782","typeString":"contract IPreimageOracle"},"typeName":{"id":98547,"nodeType":"UserDefinedTypeName","pathNode":{"id":98546,"name":"IPreimageOracle","nodeType":"IdentifierPath","referencedDeclaration":96782,"src":"20174:15:164"},"referencedDeclaration":96782,"src":"20174:15:164","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$96782","typeString":"contract IPreimageOracle"}},"visibility":"internal"}],"id":98552,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98549,"name":"VM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97734,"src":"20199:2:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"id":98550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"oracle","nodeType":"MemberAccess","referencedDeclaration":100170,"src":"20199:9:164","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IPreimageOracle_$96782_$","typeString":"function () view external returns (contract IPreimageOracle)"}},"id":98551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20199:11:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$96782","typeString":"contract IPreimageOracle"}},"nodeType":"VariableDeclarationStatement","src":"20174:36:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98553,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"20224:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":98554,"name":"LocalPreimageKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103373,"src":"20234:16:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LocalPreimageKey_$103373_$","typeString":"type(library LocalPreimageKey)"}},"id":98555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_HEAD_HASH","nodeType":"MemberAccess","referencedDeclaration":103356,"src":"20234:29:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20224:39:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98573,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"20410:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":98574,"name":"LocalPreimageKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103373,"src":"20420:16:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LocalPreimageKey_$103373_$","typeString":"type(library LocalPreimageKey)"}},"id":98575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"STARTING_OUTPUT_ROOT","nodeType":"MemberAccess","referencedDeclaration":103360,"src":"20420:37:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20410:47:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98592,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"20624:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":98593,"name":"LocalPreimageKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103373,"src":"20634:16:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LocalPreimageKey_$103373_$","typeString":"type(library LocalPreimageKey)"}},"id":98594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"DISPUTED_OUTPUT_ROOT","nodeType":"MemberAccess","referencedDeclaration":103364,"src":"20634:37:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20624:47:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98611,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"20837:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":98612,"name":"LocalPreimageKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103373,"src":"20847:16:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LocalPreimageKey_$103373_$","typeString":"type(library LocalPreimageKey)"}},"id":98613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"DISPUTED_L2_BLOCK_NUMBER","nodeType":"MemberAccess","referencedDeclaration":103368,"src":"20847:41:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20837:51:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98645,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"21380:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":98646,"name":"LocalPreimageKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103373,"src":"21390:16:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LocalPreimageKey_$103373_$","typeString":"type(library LocalPreimageKey)"}},"id":98647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"CHAIN_ID","nodeType":"MemberAccess","referencedDeclaration":103372,"src":"21390:25:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21380:35:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":98670,"nodeType":"Block","src":"21629:51:164","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98667,"name":"InvalidLocalIdent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103168,"src":"21650:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21650:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98669,"nodeType":"RevertStatement","src":"21643:26:164"}]},"id":98671,"nodeType":"IfStatement","src":"21376:304:164","trueBody":{"id":98666,"nodeType":"Block","src":"21417:206:164","statements":[{"expression":{"arguments":[{"id":98652,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"21547:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98653,"name":"uuid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98538,"src":"21555:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":98654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"21555:8:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":98655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21555:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98658,"name":"L2_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97749,"src":"21575:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30784330","id":98659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21590:4:164","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"0xC0"},"src":"21575:19:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21567:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":98656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21567:7:164","typeDescriptions":{}}},"id":98661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21567:28:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"38","id":98662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21597:1:164","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"id":98663,"name":"_partOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98509,"src":"21600:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":98649,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98548,"src":"21526:6:164","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$96782","typeString":"contract IPreimageOracle"}},"id":98651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"loadLocalData","nodeType":"MemberAccess","referencedDeclaration":96741,"src":"21526:20:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256,bytes32,bytes32,uint256,uint256) external returns (bytes32)"}},"id":98664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21526:86:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":98665,"nodeType":"ExpressionStatement","src":"21526:86:164"}]}},"id":98672,"nodeType":"IfStatement","src":"20833:847:164","trueBody":{"id":98644,"nodeType":"Block","src":"20890:480:164","statements":[{"assignments":[98616],"declarations":[{"constant":false,"id":98616,"mutability":"mutable","name":"l2Number","nameLocation":"21176:8:164","nodeType":"VariableDeclaration","scope":98644,"src":"21168:16:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98615,"name":"uint256","nodeType":"ElementaryTypeName","src":"21168:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":98626,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":98617,"name":"startingOutputRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97811,"src":"21187:18:164","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_storage","typeString":"struct OutputRoot storage ref"}},"id":98618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"l2BlockNumber","nodeType":"MemberAccess","referencedDeclaration":103282,"src":"21187:32:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":98621,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"21245:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":98619,"name":"disputedPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98531,"src":"21222:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"traceIndex","nodeType":"MemberAccess","referencedDeclaration":100925,"src":"21222:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$_t_uint256_$returns$_t_uint256_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position,uint256) pure returns (uint256)"}},"id":98622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21222:35:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21187:70:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":98624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21260:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"21187:74:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21168:93:164"},{"expression":{"arguments":[{"id":98630,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"21297:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98631,"name":"uuid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98538,"src":"21305:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":98632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"21305:8:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":98633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21305:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98636,"name":"l2Number","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98616,"src":"21325:8:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30784330","id":98637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21337:4:164","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"0xC0"},"src":"21325:16:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21317:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":98634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21317:7:164","typeDescriptions":{}}},"id":98639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21317:25:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"38","id":98640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21344:1:164","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"id":98641,"name":"_partOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98509,"src":"21347:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":98627,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98548,"src":"21276:6:164","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$96782","typeString":"contract IPreimageOracle"}},"id":98629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"loadLocalData","nodeType":"MemberAccess","referencedDeclaration":96741,"src":"21276:20:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256,bytes32,bytes32,uint256,uint256) external returns (bytes32)"}},"id":98642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21276:83:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":98643,"nodeType":"ExpressionStatement","src":"21276:83:164"}]}},"id":98673,"nodeType":"IfStatement","src":"20620:1060:164","trueBody":{"id":98610,"nodeType":"Block","src":"20673:154:164","statements":[{"expression":{"arguments":[{"id":98599,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"20764:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98600,"name":"uuid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98538,"src":"20772:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":98601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"20772:8:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":98602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20772:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98603,"name":"disputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98528,"src":"20784:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":98604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101085,"src":"20784:12:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$103255_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function (Claim) pure returns (bytes32)"}},"id":98605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20784:14:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3332","id":98606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20800:2:164","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":98607,"name":"_partOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98509,"src":"20804:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":98596,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98548,"src":"20743:6:164","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$96782","typeString":"contract IPreimageOracle"}},"id":98598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"loadLocalData","nodeType":"MemberAccess","referencedDeclaration":96741,"src":"20743:20:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256,bytes32,bytes32,uint256,uint256) external returns (bytes32)"}},"id":98608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20743:73:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":98609,"nodeType":"ExpressionStatement","src":"20743:73:164"}]}},"id":98674,"nodeType":"IfStatement","src":"20406:1274:164","trueBody":{"id":98591,"nodeType":"Block","src":"20459:155:164","statements":[{"expression":{"arguments":[{"id":98580,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"20551:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98581,"name":"uuid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98538,"src":"20559:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":98582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"20559:8:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":98583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20559:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98584,"name":"starting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98522,"src":"20571:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":98585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101085,"src":"20571:12:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$103255_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function (Claim) pure returns (bytes32)"}},"id":98586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20571:14:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3332","id":98587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20587:2:164","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":98588,"name":"_partOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98509,"src":"20591:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":98577,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98548,"src":"20530:6:164","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$96782","typeString":"contract IPreimageOracle"}},"id":98579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"loadLocalData","nodeType":"MemberAccess","referencedDeclaration":96741,"src":"20530:20:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256,bytes32,bytes32,uint256,uint256) external returns (bytes32)"}},"id":98589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20530:73:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":98590,"nodeType":"ExpressionStatement","src":"20530:73:164"}]}},"id":98675,"nodeType":"IfStatement","src":"20220:1460:164","trueBody":{"id":98572,"nodeType":"Block","src":"20265:135:164","statements":[{"expression":{"arguments":[{"id":98560,"name":"_ident","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98505,"src":"20337:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98561,"name":"uuid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98538,"src":"20345:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":98562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"20345:8:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":98563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20345:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":98564,"name":"l1Head","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99044,"src":"20357:6:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function () pure returns (Hash)"}},"id":98565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20357:8:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":98566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"20357:12:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":98567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20357:14:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3332","id":98568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20373:2:164","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":98569,"name":"_partOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98509,"src":"20377:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":98557,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98548,"src":"20316:6:164","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$96782","typeString":"contract IPreimageOracle"}},"id":98559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"loadLocalData","nodeType":"MemberAccess","referencedDeclaration":96741,"src":"20316:20:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256,bytes32,bytes32,uint256,uint256) external returns (bytes32)"}},"id":98570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20316:73:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":98571,"nodeType":"ExpressionStatement","src":"20316:73:164"}]}}]},"baseFunctions":[100573],"documentation":{"id":98503,"nodeType":"StructuredDocumentation","src":"19637:33:164","text":"@inheritdoc IFaultDisputeGame"},"functionSelector":"f8f43ff6","implemented":true,"kind":"function","modifiers":[],"name":"addLocalData","nameLocation":"19684:12:164","parameters":{"id":98510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98505,"mutability":"mutable","name":"_ident","nameLocation":"19705:6:164","nodeType":"VariableDeclaration","scope":98677,"src":"19697:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98504,"name":"uint256","nodeType":"ElementaryTypeName","src":"19697:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":98507,"mutability":"mutable","name":"_execLeafIdx","nameLocation":"19721:12:164","nodeType":"VariableDeclaration","scope":98677,"src":"19713:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98506,"name":"uint256","nodeType":"ElementaryTypeName","src":"19713:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":98509,"mutability":"mutable","name":"_partOffset","nameLocation":"19743:11:164","nodeType":"VariableDeclaration","scope":98677,"src":"19735:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98508,"name":"uint256","nodeType":"ElementaryTypeName","src":"19735:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19696:59:164"},"returnParameters":{"id":98511,"nodeType":"ParameterList","parameters":[],"src":"19765:0:164"},"scope":99927,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":98690,"nodeType":"FunctionDefinition","src":"21730:124:164","nodes":[],"body":{"id":98689,"nodeType":"Block","src":"21800:54:164","nodes":[],"statements":[{"expression":{"id":98687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98683,"name":"l2BlockNumber_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98681,"src":"21810:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30783534","id":98685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21842:4:164","typeDescriptions":{"typeIdentifier":"t_rational_84_by_1","typeString":"int_const 84"},"value":"0x54"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_84_by_1","typeString":"int_const 84"}],"id":98684,"name":"_getArgUint256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60489,"src":"21827:14:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":98686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21827:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21810:37:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":98688,"nodeType":"ExpressionStatement","src":"21810:37:164"}]},"baseFunctions":[100585],"documentation":{"id":98678,"nodeType":"StructuredDocumentation","src":"21692:33:164","text":"@inheritdoc IFaultDisputeGame"},"functionSelector":"8b85902b","implemented":true,"kind":"function","modifiers":[],"name":"l2BlockNumber","nameLocation":"21739:13:164","parameters":{"id":98679,"nodeType":"ParameterList","parameters":[],"src":"21752:2:164"},"returnParameters":{"id":98682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98681,"mutability":"mutable","name":"l2BlockNumber_","nameLocation":"21784:14:164","nodeType":"VariableDeclaration","scope":98690,"src":"21776:22:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98680,"name":"uint256","nodeType":"ElementaryTypeName","src":"21776:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21775:24:164"},"scope":99927,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":98702,"nodeType":"FunctionDefinition","src":"21898:156:164","nodes":[],"body":{"id":98701,"nodeType":"Block","src":"21982:72:164","nodes":[],"statements":[{"expression":{"id":98699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98696,"name":"startingBlockNumber_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98694,"src":"21992:20:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":98697,"name":"startingOutputRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97811,"src":"22015:18:164","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_storage","typeString":"struct OutputRoot storage ref"}},"id":98698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"l2BlockNumber","nodeType":"MemberAccess","referencedDeclaration":103282,"src":"22015:32:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21992:55:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":98700,"nodeType":"ExpressionStatement","src":"21992:55:164"}]},"baseFunctions":[100600],"documentation":{"id":98691,"nodeType":"StructuredDocumentation","src":"21860:33:164","text":"@inheritdoc IFaultDisputeGame"},"functionSelector":"70872aa5","implemented":true,"kind":"function","modifiers":[],"name":"startingBlockNumber","nameLocation":"21907:19:164","parameters":{"id":98692,"nodeType":"ParameterList","parameters":[],"src":"21926:2:164"},"returnParameters":{"id":98695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98694,"mutability":"mutable","name":"startingBlockNumber_","nameLocation":"21960:20:164","nodeType":"VariableDeclaration","scope":98702,"src":"21952:28:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98693,"name":"uint256","nodeType":"ElementaryTypeName","src":"21952:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21951:30:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":98715,"nodeType":"FunctionDefinition","src":"22098:135:164","nodes":[],"body":{"id":98714,"nodeType":"Block","src":"22173:60:164","nodes":[],"statements":[{"expression":{"id":98712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98709,"name":"startingRootHash_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98707,"src":"22183:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":98710,"name":"startingOutputRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97811,"src":"22203:18:164","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_storage","typeString":"struct OutputRoot storage ref"}},"id":98711,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"root","nodeType":"MemberAccess","referencedDeclaration":103280,"src":"22203:23:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"src":"22183:43:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":98713,"nodeType":"ExpressionStatement","src":"22183:43:164"}]},"baseFunctions":[100607],"documentation":{"id":98703,"nodeType":"StructuredDocumentation","src":"22060:33:164","text":"@inheritdoc IFaultDisputeGame"},"functionSelector":"25fc2ace","implemented":true,"kind":"function","modifiers":[],"name":"startingRootHash","nameLocation":"22107:16:164","parameters":{"id":98704,"nodeType":"ParameterList","parameters":[],"src":"22123:2:164"},"returnParameters":{"id":98708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98707,"mutability":"mutable","name":"startingRootHash_","nameLocation":"22154:17:164","nodeType":"VariableDeclaration","scope":98715,"src":"22149:22:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"},"typeName":{"id":98706,"nodeType":"UserDefinedTypeName","pathNode":{"id":98705,"name":"Hash","nodeType":"IdentifierPath","referencedDeclaration":103253,"src":"22149:4:164"},"referencedDeclaration":103253,"src":"22149:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"visibility":"internal"}],"src":"22148:24:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":98778,"nodeType":"FunctionDefinition","src":"22480:905:164","nodes":[],"body":{"id":98777,"nodeType":"Block","src":"22537:848:164","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"},"id":98725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98722,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97777,"src":"22639:6:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":98723,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103277,"src":"22649:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$103277_$","typeString":"type(enum GameStatus)"}},"id":98724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"IN_PROGRESS","nodeType":"MemberAccess","referencedDeclaration":103274,"src":"22649:22:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"src":"22639:32:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98729,"nodeType":"IfStatement","src":"22635:64:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98726,"name":"GameNotInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103144,"src":"22680:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22680:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98728,"nodeType":"RevertStatement","src":"22673:26:164"}},{"condition":{"id":98733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22812:20:164","subExpression":{"baseExpression":{"id":98730,"name":"resolvedSubgames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97807,"src":"22813:16:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":98732,"indexExpression":{"hexValue":"30","id":98731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22830:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22813:19:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98737,"nodeType":"IfStatement","src":"22808:55:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98734,"name":"OutOfOrderResolution","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103171,"src":"22841:20:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22841:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98736,"nodeType":"RevertStatement","src":"22834:29:164"}},{"expression":{"id":98753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98738,"name":"status_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98720,"src":"22943:7:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":98747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":98739,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"22953:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":98741,"indexExpression":{"hexValue":"30","id":98740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22963:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22953:12:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"id":98742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"counteredBy","nodeType":"MemberAccess","referencedDeclaration":100509,"src":"22953:24:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":98745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22989:1:164","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":98744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22981:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":98743,"name":"address","nodeType":"ElementaryTypeName","src":"22981:7:164","typeDescriptions":{}}},"id":98746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22953:38:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":98750,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103277,"src":"23021:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$103277_$","typeString":"type(enum GameStatus)"}},"id":98751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"CHALLENGER_WINS","nodeType":"MemberAccess","referencedDeclaration":103275,"src":"23021:26:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"id":98752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22953:94:164","trueExpression":{"expression":{"id":98748,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103277,"src":"22994:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$103277_$","typeString":"type(enum GameStatus)"}},"id":98749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"DEFENDER_WINS","nodeType":"MemberAccess","referencedDeclaration":103276,"src":"22994:24:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"src":"22943:104:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"id":98754,"nodeType":"ExpressionStatement","src":"22943:104:164"},{"expression":{"id":98764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98755,"name":"resolvedAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97773,"src":"23057:10:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":98760,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23092:5:164","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":98761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"23092:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23085:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":98758,"name":"uint64","nodeType":"ElementaryTypeName","src":"23085:6:164","typeDescriptions":{}}},"id":98762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23085:23:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":98756,"name":"Timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103261,"src":"23070:9:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"type(Timestamp)"}},"id":98757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"23070:14:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"function (uint64) pure returns (Timestamp)"}},"id":98763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23070:39:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"src":"23057:52:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"id":98765,"nodeType":"ExpressionStatement","src":"23057:52:164"},{"eventCall":{"arguments":[{"id":98769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98767,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97777,"src":"23239:6:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":98768,"name":"status_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98720,"src":"23248:7:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"src":"23239:16:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}],"id":98766,"name":"Resolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100253,"src":"23230:8:164","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_GameStatus_$103277_$returns$__$","typeString":"function (enum GameStatus)"}},"id":98770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23230:26:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98771,"nodeType":"EmitStatement","src":"23225:31:164"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98772,"name":"ANCHOR_STATE_REGISTRY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97746,"src":"23334:21:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"id":98774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryUpdateAnchorState","nodeType":"MemberAccess","referencedDeclaration":100145,"src":"23334:42:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":98775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23334:44:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98776,"nodeType":"ExpressionStatement","src":"23334:44:164"}]},"baseFunctions":[100314],"documentation":{"id":98716,"nodeType":"StructuredDocumentation","src":"22447:28:164","text":"@inheritdoc IDisputeGame"},"functionSelector":"2810e1d6","implemented":true,"kind":"function","modifiers":[],"name":"resolve","nameLocation":"22489:7:164","parameters":{"id":98717,"nodeType":"ParameterList","parameters":[],"src":"22496:2:164"},"returnParameters":{"id":98721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98720,"mutability":"mutable","name":"status_","nameLocation":"22528:7:164","nodeType":"VariableDeclaration","scope":98778,"src":"22517:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"},"typeName":{"id":98719,"nodeType":"UserDefinedTypeName","pathNode":{"id":98718,"name":"GameStatus","nodeType":"IdentifierPath","referencedDeclaration":103277,"src":"22517:10:164"},"referencedDeclaration":103277,"src":"22517:10:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"22516:20:164"},"scope":99927,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":98984,"nodeType":"FunctionDefinition","src":"23429:3867:164","nodes":[],"body":{"id":98983,"nodeType":"Block","src":"23481:3815:164","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"},"id":98787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98784,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97777,"src":"23583:6:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":98785,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103277,"src":"23593:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$103277_$","typeString":"type(enum GameStatus)"}},"id":98786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"IN_PROGRESS","nodeType":"MemberAccess","referencedDeclaration":103274,"src":"23593:22:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"src":"23583:32:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98791,"nodeType":"IfStatement","src":"23579:64:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98788,"name":"GameNotInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103144,"src":"23624:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23624:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98790,"nodeType":"RevertStatement","src":"23617:26:164"}},{"assignments":[98794],"declarations":[{"constant":false,"id":98794,"mutability":"mutable","name":"subgameRootClaim","nameLocation":"23672:16:164","nodeType":"VariableDeclaration","scope":98983,"src":"23654:34:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":98793,"nodeType":"UserDefinedTypeName","pathNode":{"id":98792,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"23654:9:164"},"referencedDeclaration":100523,"src":"23654:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":98798,"initialValue":{"baseExpression":{"id":98795,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"23691:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":98797,"indexExpression":{"id":98796,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98781,"src":"23701:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23691:22:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23654:59:164"},{"assignments":[98801],"declarations":[{"constant":false,"id":98801,"mutability":"mutable","name":"challengeClockDuration","nameLocation":"23732:22:164","nodeType":"VariableDeclaration","scope":98983,"src":"23723:31:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":98800,"nodeType":"UserDefinedTypeName","pathNode":{"id":98799,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"23723:8:164"},"referencedDeclaration":103263,"src":"23723:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"}],"id":98805,"initialValue":{"arguments":[{"id":98803,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98781,"src":"23779:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98802,"name":"getChallengerDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99348,"src":"23757:21:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (uint256) view returns (Duration)"}},"id":98804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23757:34:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"nodeType":"VariableDeclarationStatement","src":"23723:68:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":98812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98806,"name":"challengeClockDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98801,"src":"24071:22:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"24071:26:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24071:28:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98809,"name":"MAX_CLOCK_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97730,"src":"24102:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":98810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"24102:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":98811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24102:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"24071:55:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98816,"nodeType":"IfStatement","src":"24067:85:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98813,"name":"ClockNotExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103150,"src":"24135:15:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24135:17:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98815,"nodeType":"RevertStatement","src":"24128:24:164"}},{"condition":{"baseExpression":{"id":98817,"name":"resolvedSubgames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97807,"src":"24221:16:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":98819,"indexExpression":{"id":98818,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98781,"src":"24238:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24221:29:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98823,"nodeType":"IfStatement","src":"24217:64:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98820,"name":"ClaimAlreadyResolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103174,"src":"24259:20:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24259:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98822,"nodeType":"RevertStatement","src":"24252:29:164"}},{"assignments":[98828],"declarations":[{"constant":false,"id":98828,"mutability":"mutable","name":"challengeIndices","nameLocation":"24310:16:164","nodeType":"VariableDeclaration","scope":98983,"src":"24292:34:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":98826,"name":"uint256","nodeType":"ElementaryTypeName","src":"24292:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":98827,"nodeType":"ArrayTypeName","src":"24292:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":98832,"initialValue":{"baseExpression":{"id":98829,"name":"subgames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97802,"src":"24329:8:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[] storage ref)"}},"id":98831,"indexExpression":{"id":98830,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98781,"src":"24338:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24329:21:164","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24292:58:164"},{"assignments":[98834],"declarations":[{"constant":false,"id":98834,"mutability":"mutable","name":"challengeIndicesLen","nameLocation":"24368:19:164","nodeType":"VariableDeclaration","scope":98983,"src":"24360:27:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98833,"name":"uint256","nodeType":"ElementaryTypeName","src":"24360:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":98837,"initialValue":{"expression":{"id":98835,"name":"challengeIndices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98828,"src":"24390:16:164","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":98836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"24390:23:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24360:53:164"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":98844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98838,"name":"challengeIndicesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98834,"src":"24576:19:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":98839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24599:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24576:24:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98841,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98781,"src":"24604:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":98842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24619:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24604:16:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24576:44:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98876,"nodeType":"IfStatement","src":"24572:805:164","trueBody":{"id":98875,"nodeType":"Block","src":"24622:755:164","statements":[{"assignments":[98846],"declarations":[{"constant":false,"id":98846,"mutability":"mutable","name":"counteredBy","nameLocation":"25095:11:164","nodeType":"VariableDeclaration","scope":98875,"src":"25087:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":98845,"name":"address","nodeType":"ElementaryTypeName","src":"25087:7:164","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":98849,"initialValue":{"expression":{"id":98847,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98794,"src":"25109:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98848,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"counteredBy","nodeType":"MemberAccess","referencedDeclaration":100509,"src":"25109:28:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"25087:50:164"},{"assignments":[98851],"declarations":[{"constant":false,"id":98851,"mutability":"mutable","name":"recipient","nameLocation":"25159:9:164","nodeType":"VariableDeclaration","scope":98875,"src":"25151:17:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":98850,"name":"address","nodeType":"ElementaryTypeName","src":"25151:7:164","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":98862,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":98857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98852,"name":"counteredBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98846,"src":"25171:11:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":98855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25194:1:164","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":98854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25186:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":98853,"name":"address","nodeType":"ElementaryTypeName","src":"25186:7:164","typeDescriptions":{}}},"id":98856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25186:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25171:25:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":98860,"name":"counteredBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98846,"src":"25227:11:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":98861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25171:67:164","trueExpression":{"expression":{"id":98858,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98794,"src":"25199:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98859,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claimant","nodeType":"MemberAccess","referencedDeclaration":100511,"src":"25199:25:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"25151:87:164"},{"expression":{"arguments":[{"id":98864,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98851,"src":"25268:9:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":98865,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98794,"src":"25279:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}],"id":98863,"name":"_distributeBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99493,"src":"25252:15:164","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_ClaimData_$100523_storage_ptr_$returns$__$","typeString":"function (address,struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":98866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25252:44:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98867,"nodeType":"ExpressionStatement","src":"25252:44:164"},{"expression":{"id":98872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":98868,"name":"resolvedSubgames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97807,"src":"25310:16:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":98870,"indexExpression":{"id":98869,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98781,"src":"25327:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25310:29:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":98871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"25342:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"25310:36:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98873,"nodeType":"ExpressionStatement","src":"25310:36:164"},{"functionReturnParameters":98783,"id":98874,"nodeType":"Return","src":"25360:7:164"}]}},{"assignments":[98878],"declarations":[{"constant":false,"id":98878,"mutability":"mutable","name":"countered","nameLocation":"25453:9:164","nodeType":"VariableDeclaration","scope":98983,"src":"25445:17:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":98877,"name":"address","nodeType":"ElementaryTypeName","src":"25445:7:164","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":98883,"initialValue":{"arguments":[{"hexValue":"30","id":98881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25473:1:164","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":98880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25465:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":98879,"name":"address","nodeType":"ElementaryTypeName","src":"25465:7:164","typeDescriptions":{}}},"id":98882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25465:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"25445:30:164"},{"assignments":[98886],"declarations":[{"constant":false,"id":98886,"mutability":"mutable","name":"leftmostCounter","nameLocation":"25494:15:164","nodeType":"VariableDeclaration","scope":98983,"src":"25485:24:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":98885,"nodeType":"UserDefinedTypeName","pathNode":{"id":98884,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"25485:8:164"},"referencedDeclaration":103269,"src":"25485:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":98895,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":98891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25531:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":98890,"name":"uint128","nodeType":"ElementaryTypeName","src":"25531:7:164","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":98889,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"25526:4:164","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25526:13:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":98893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"25526:17:164","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":98887,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103269,"src":"25512:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Position_$103269_$","typeString":"type(Position)"}},"id":98888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"25512:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint128) pure returns (Position)"}},"id":98894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25512:32:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"nodeType":"VariableDeclarationStatement","src":"25485:59:164"},{"body":{"id":98955,"nodeType":"Block","src":"25604:1079:164","statements":[{"assignments":[98907],"declarations":[{"constant":false,"id":98907,"mutability":"mutable","name":"challengeIndex","nameLocation":"25626:14:164","nodeType":"VariableDeclaration","scope":98955,"src":"25618:22:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98906,"name":"uint256","nodeType":"ElementaryTypeName","src":"25618:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":98911,"initialValue":{"baseExpression":{"id":98908,"name":"challengeIndices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98828,"src":"25643:16:164","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":98910,"indexExpression":{"id":98909,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98897,"src":"25660:1:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25643:19:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25618:44:164"},{"condition":{"id":98915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25763:33:164","subExpression":{"baseExpression":{"id":98912,"name":"resolvedSubgames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97807,"src":"25764:16:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":98914,"indexExpression":{"id":98913,"name":"challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98907,"src":"25781:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25764:32:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98919,"nodeType":"IfStatement","src":"25759:68:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":98916,"name":"OutOfOrderResolution","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103171,"src":"25805:20:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":98917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25805:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98918,"nodeType":"RevertStatement","src":"25798:29:164"}},{"assignments":[98922],"declarations":[{"constant":false,"id":98922,"mutability":"mutable","name":"claim","nameLocation":"25860:5:164","nodeType":"VariableDeclaration","scope":98955,"src":"25842:23:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":98921,"nodeType":"UserDefinedTypeName","pathNode":{"id":98920,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"25842:9:164"},"referencedDeclaration":100523,"src":"25842:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":98926,"initialValue":{"baseExpression":{"id":98923,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"25868:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":98925,"indexExpression":{"id":98924,"name":"challengeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98907,"src":"25878:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25868:25:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25842:51:164"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":98942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":98933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":98927,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98922,"src":"26483:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"counteredBy","nodeType":"MemberAccess","referencedDeclaration":100509,"src":"26483:17:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":98931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26512:1:164","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":98930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26504:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":98929,"name":"address","nodeType":"ElementaryTypeName","src":"26504:7:164","typeDescriptions":{}}},"id":98932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26504:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26483:31:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":98941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":98934,"name":"leftmostCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98886,"src":"26518:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"26518:19:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":98936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26518:21:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":98937,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98922,"src":"26542:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"26542:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"26542:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":98940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26542:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"26518:44:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26483:79:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98954,"nodeType":"IfStatement","src":"26479:194:164","trueBody":{"id":98953,"nodeType":"Block","src":"26564:109:164","statements":[{"expression":{"id":98946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98943,"name":"countered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98878,"src":"26582:9:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":98944,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98922,"src":"26594:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claimant","nodeType":"MemberAccess","referencedDeclaration":100511,"src":"26594:14:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26582:26:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":98947,"nodeType":"ExpressionStatement","src":"26582:26:164"},{"expression":{"id":98951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98948,"name":"leftmostCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98886,"src":"26626:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":98949,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98922,"src":"26644:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"26644:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"src":"26626:32:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":98952,"nodeType":"ExpressionStatement","src":"26626:32:164"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98900,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98897,"src":"25574:1:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":98901,"name":"challengeIndicesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98834,"src":"25578:19:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25574:23:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98956,"initializationExpression":{"assignments":[98897],"declarations":[{"constant":false,"id":98897,"mutability":"mutable","name":"i","nameLocation":"25567:1:164","nodeType":"VariableDeclaration","scope":98956,"src":"25559:9:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98896,"name":"uint256","nodeType":"ElementaryTypeName","src":"25559:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":98899,"initialValue":{"hexValue":"30","id":98898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25571:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"25559:13:164"},"loopExpression":{"expression":{"id":98904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25599:3:164","subExpression":{"id":98903,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98897,"src":"25601:1:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":98905,"nodeType":"ExpressionStatement","src":"25599:3:164"},"nodeType":"ForStatement","src":"25554:1129:164"},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":98963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98958,"name":"countered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98878,"src":"26907:9:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":98961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26928:1:164","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":98960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26920:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":98959,"name":"address","nodeType":"ElementaryTypeName","src":"26920:7:164","typeDescriptions":{}}},"id":98962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26920:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26907:23:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":98966,"name":"countered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98878,"src":"26961:9:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":98967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26907:63:164","trueExpression":{"expression":{"id":98964,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98794,"src":"26933:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claimant","nodeType":"MemberAccess","referencedDeclaration":100511,"src":"26933:25:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":98968,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98794,"src":"26972:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}],"id":98957,"name":"_distributeBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99493,"src":"26891:15:164","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_ClaimData_$100523_storage_ptr_$returns$__$","typeString":"function (address,struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":98969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26891:98:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98970,"nodeType":"ExpressionStatement","src":"26891:98:164"},{"expression":{"id":98975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":98971,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98794,"src":"27161:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":98973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"counteredBy","nodeType":"MemberAccess","referencedDeclaration":100509,"src":"27161:28:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":98974,"name":"countered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98878,"src":"27192:9:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27161:40:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":98976,"nodeType":"ExpressionStatement","src":"27161:40:164"},{"expression":{"id":98981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":98977,"name":"resolvedSubgames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97807,"src":"27253:16:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":98979,"indexExpression":{"id":98978,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98781,"src":"27270:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27253:29:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":98980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27285:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"27253:36:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":98982,"nodeType":"ExpressionStatement","src":"27253:36:164"}]},"baseFunctions":[100579],"documentation":{"id":98779,"nodeType":"StructuredDocumentation","src":"23391:33:164","text":"@inheritdoc IFaultDisputeGame"},"functionSelector":"fdffbb28","implemented":true,"kind":"function","modifiers":[],"name":"resolveClaim","nameLocation":"23438:12:164","parameters":{"id":98782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98781,"mutability":"mutable","name":"_claimIndex","nameLocation":"23459:11:164","nodeType":"VariableDeclaration","scope":98984,"src":"23451:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98780,"name":"uint256","nodeType":"ElementaryTypeName","src":"23451:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23450:21:164"},"returnParameters":{"id":98783,"nodeType":"ParameterList","parameters":[],"src":"23481:0:164"},"scope":99927,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":98997,"nodeType":"FunctionDefinition","src":"27335:108:164","nodes":[],"body":{"id":98996,"nodeType":"Block","src":"27405:38:164","nodes":[],"statements":[{"expression":{"id":98994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98992,"name":"gameType_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98990,"src":"27415:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":98993,"name":"GAME_TYPE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97738,"src":"27427:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"src":"27415:21:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"id":98995,"nodeType":"ExpressionStatement","src":"27415:21:164"}]},"baseFunctions":[100281],"documentation":{"id":98985,"nodeType":"StructuredDocumentation","src":"27302:28:164","text":"@inheritdoc IDisputeGame"},"functionSelector":"bbdc02db","implemented":true,"kind":"function","modifiers":[],"name":"gameType","nameLocation":"27344:8:164","overrides":{"id":98987,"nodeType":"OverrideSpecifier","overrides":[],"src":"27367:8:164"},"parameters":{"id":98986,"nodeType":"ParameterList","parameters":[],"src":"27352:2:164"},"returnParameters":{"id":98991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98990,"mutability":"mutable","name":"gameType_","nameLocation":"27394:9:164","nodeType":"VariableDeclaration","scope":98997,"src":"27385:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"},"typeName":{"id":98989,"nodeType":"UserDefinedTypeName","pathNode":{"id":98988,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":103271,"src":"27385:8:164"},"referencedDeclaration":103271,"src":"27385:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"visibility":"internal"}],"src":"27384:20:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":99010,"nodeType":"FunctionDefinition","src":"27482:110:164","nodes":[],"body":{"id":99009,"nodeType":"Block","src":"27544:48:164","nodes":[],"statements":[{"expression":{"id":99007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99003,"name":"creator_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99001,"src":"27554:8:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30783030","id":99005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27580:4:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":99004,"name":"_getArgAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60423,"src":"27565:14:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure returns (address)"}},"id":99006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27565:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27554:31:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":99008,"nodeType":"ExpressionStatement","src":"27554:31:164"}]},"baseFunctions":[100287],"documentation":{"id":98998,"nodeType":"StructuredDocumentation","src":"27449:28:164","text":"@inheritdoc IDisputeGame"},"functionSelector":"37b1b229","implemented":true,"kind":"function","modifiers":[],"name":"gameCreator","nameLocation":"27491:11:164","parameters":{"id":98999,"nodeType":"ParameterList","parameters":[],"src":"27502:2:164"},"returnParameters":{"id":99002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99001,"mutability":"mutable","name":"creator_","nameLocation":"27534:8:164","nodeType":"VariableDeclaration","scope":99010,"src":"27526:16:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99000,"name":"address","nodeType":"ElementaryTypeName","src":"27526:7:164","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27525:18:164"},"scope":99927,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":99027,"nodeType":"FunctionDefinition","src":"27631:122:164","nodes":[],"body":{"id":99026,"nodeType":"Block","src":"27691:62:164","nodes":[],"statements":[{"expression":{"id":99024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99017,"name":"rootClaim_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99015,"src":"27701:10:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30783134","id":99021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27740:4:164","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"0x14"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"id":99020,"name":"_getArgBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60474,"src":"27725:14:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) pure returns (bytes32)"}},"id":99022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27725:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":99018,"name":"Claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103255,"src":"27714:5:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Claim_$103255_$","typeString":"type(Claim)"}},"id":99019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"27714:10:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function (bytes32) pure returns (Claim)"}},"id":99023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27714:32:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"src":"27701:45:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":99025,"nodeType":"ExpressionStatement","src":"27701:45:164"}]},"baseFunctions":[100294],"documentation":{"id":99011,"nodeType":"StructuredDocumentation","src":"27598:28:164","text":"@inheritdoc IDisputeGame"},"functionSelector":"bcef3b55","implemented":true,"kind":"function","modifiers":[],"name":"rootClaim","nameLocation":"27640:9:164","parameters":{"id":99012,"nodeType":"ParameterList","parameters":[],"src":"27649:2:164"},"returnParameters":{"id":99016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99015,"mutability":"mutable","name":"rootClaim_","nameLocation":"27679:10:164","nodeType":"VariableDeclaration","scope":99027,"src":"27673:16:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99014,"nodeType":"UserDefinedTypeName","pathNode":{"id":99013,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"27673:5:164"},"referencedDeclaration":103255,"src":"27673:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"}],"src":"27672:18:164"},"scope":99927,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":99044,"nodeType":"FunctionDefinition","src":"27792:111:164","nodes":[],"body":{"id":99043,"nodeType":"Block","src":"27845:58:164","nodes":[],"statements":[{"expression":{"id":99041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99034,"name":"l1Head_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99032,"src":"27855:7:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30783334","id":99038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27890:4:164","typeDescriptions":{"typeIdentifier":"t_rational_52_by_1","typeString":"int_const 52"},"value":"0x34"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_52_by_1","typeString":"int_const 52"}],"id":99037,"name":"_getArgBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60474,"src":"27875:14:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) pure returns (bytes32)"}},"id":99039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27875:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":99035,"name":"Hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103253,"src":"27865:4:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hash_$103253_$","typeString":"type(Hash)"}},"id":99036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"27865:9:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (bytes32) pure returns (Hash)"}},"id":99040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27865:31:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"src":"27855:41:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":99042,"nodeType":"ExpressionStatement","src":"27855:41:164"}]},"baseFunctions":[100301],"documentation":{"id":99028,"nodeType":"StructuredDocumentation","src":"27759:28:164","text":"@inheritdoc IDisputeGame"},"functionSelector":"6361506d","implemented":true,"kind":"function","modifiers":[],"name":"l1Head","nameLocation":"27801:6:164","parameters":{"id":99029,"nodeType":"ParameterList","parameters":[],"src":"27807:2:164"},"returnParameters":{"id":99033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99032,"mutability":"mutable","name":"l1Head_","nameLocation":"27836:7:164","nodeType":"VariableDeclaration","scope":99044,"src":"27831:12:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"},"typeName":{"id":99031,"nodeType":"UserDefinedTypeName","pathNode":{"id":99030,"name":"Hash","nodeType":"IdentifierPath","referencedDeclaration":103253,"src":"27831:4:164"},"referencedDeclaration":103253,"src":"27831:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"visibility":"internal"}],"src":"27830:14:164"},"scope":99927,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":99058,"nodeType":"FunctionDefinition","src":"27942:231:164","nodes":[],"body":{"id":99057,"nodeType":"Block","src":"28009:164:164","nodes":[],"statements":[{"expression":{"id":99055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99050,"name":"extraData_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99048,"src":"28129:10:164","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30783534","id":99052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28155:4:164","typeDescriptions":{"typeIdentifier":"t_rational_84_by_1","typeString":"int_const 84"},"value":"0x54"},{"hexValue":"30783230","id":99053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28161:4:164","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_84_by_1","typeString":"int_const 84"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"id":99051,"name":"_getArgBytes","nodeType":"Identifier","overloadedDeclarations":[60391,60408],"referencedDeclaration":60408,"src":"28142:12:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (bytes memory)"}},"id":99054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28142:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"28129:37:164","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":99056,"nodeType":"ExpressionStatement","src":"28129:37:164"}]},"baseFunctions":[100307],"documentation":{"id":99045,"nodeType":"StructuredDocumentation","src":"27909:28:164","text":"@inheritdoc IDisputeGame"},"functionSelector":"609d3334","implemented":true,"kind":"function","modifiers":[],"name":"extraData","nameLocation":"27951:9:164","parameters":{"id":99046,"nodeType":"ParameterList","parameters":[],"src":"27960:2:164"},"returnParameters":{"id":99049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99048,"mutability":"mutable","name":"extraData_","nameLocation":"27997:10:164","nodeType":"VariableDeclaration","scope":99058,"src":"27984:23:164","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":99047,"name":"bytes","nodeType":"ElementaryTypeName","src":"27984:5:164","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27983:25:164"},"scope":99927,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":99086,"nodeType":"FunctionDefinition","src":"28212:213:164","nodes":[],"body":{"id":99085,"nodeType":"Block","src":"28318:107:164","nodes":[],"statements":[{"expression":{"id":99073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99070,"name":"gameType_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99063,"src":"28328:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":99071,"name":"gameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98997,"src":"28340:8:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_userDefinedValueType$_GameType_$103271_$","typeString":"function () view returns (GameType)"}},"id":99072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28340:10:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"src":"28328:22:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"id":99074,"nodeType":"ExpressionStatement","src":"28328:22:164"},{"expression":{"id":99078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99075,"name":"rootClaim_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99066,"src":"28360:10:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":99076,"name":"rootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99027,"src":"28373:9:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function () pure returns (Claim)"}},"id":99077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28373:11:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"src":"28360:24:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":99079,"nodeType":"ExpressionStatement","src":"28360:24:164"},{"expression":{"id":99083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99080,"name":"extraData_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99068,"src":"28394:10:164","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":99081,"name":"extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99058,"src":"28407:9:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":99082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28407:11:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"28394:24:164","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":99084,"nodeType":"ExpressionStatement","src":"28394:24:164"}]},"baseFunctions":[100326],"documentation":{"id":99059,"nodeType":"StructuredDocumentation","src":"28179:28:164","text":"@inheritdoc IDisputeGame"},"functionSelector":"fa24f743","implemented":true,"kind":"function","modifiers":[],"name":"gameData","nameLocation":"28221:8:164","parameters":{"id":99060,"nodeType":"ParameterList","parameters":[],"src":"28229:2:164"},"returnParameters":{"id":99069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99063,"mutability":"mutable","name":"gameType_","nameLocation":"28264:9:164","nodeType":"VariableDeclaration","scope":99086,"src":"28255:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"},"typeName":{"id":99062,"nodeType":"UserDefinedTypeName","pathNode":{"id":99061,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":103271,"src":"28255:8:164"},"referencedDeclaration":103271,"src":"28255:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$103271","typeString":"GameType"}},"visibility":"internal"},{"constant":false,"id":99066,"mutability":"mutable","name":"rootClaim_","nameLocation":"28281:10:164","nodeType":"VariableDeclaration","scope":99086,"src":"28275:16:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99065,"nodeType":"UserDefinedTypeName","pathNode":{"id":99064,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"28275:5:164"},"referencedDeclaration":103255,"src":"28275:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":99068,"mutability":"mutable","name":"extraData_","nameLocation":"28306:10:164","nodeType":"VariableDeclaration","scope":99086,"src":"28293:23:164","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":99067,"name":"bytes","nodeType":"ElementaryTypeName","src":"28293:5:164","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"28254:63:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99215,"nodeType":"FunctionDefinition","src":"28849:2171:164","nodes":[],"body":{"id":99214,"nodeType":"Block","src":"28938:2082:164","nodes":[],"statements":[{"assignments":[99096],"declarations":[{"constant":false,"id":99096,"mutability":"mutable","name":"depth","nameLocation":"28956:5:164","nodeType":"VariableDeclaration","scope":99214,"src":"28948:13:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99095,"name":"uint256","nodeType":"ElementaryTypeName","src":"28948:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99103,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99099,"name":"_position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99090,"src":"28972:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":100833,"src":"28972:15:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint8)"}},"id":99101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28972:17:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":99098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28964:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":99097,"name":"uint256","nodeType":"ElementaryTypeName","src":"28964:7:164","typeDescriptions":{}}},"id":99102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28964:26:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28948:42:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99104,"name":"depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99096,"src":"29004:5:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":99105,"name":"MAX_GAME_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97723,"src":"29012:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29004:22:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99110,"nodeType":"IfStatement","src":"29000:54:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":99107,"name":"GameDepthExceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103153,"src":"29035:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":99108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29035:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99109,"nodeType":"RevertStatement","src":"29028:26:164"}},{"assignments":[99112],"declarations":[{"constant":false,"id":99112,"mutability":"mutable","name":"assumedBaseFee","nameLocation":"29128:14:164","nodeType":"VariableDeclaration","scope":99214,"src":"29120:22:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99111,"name":"uint256","nodeType":"ElementaryTypeName","src":"29120:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99114,"initialValue":{"hexValue":"323030","id":99113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29145:8:164","subdenomination":"gwei","typeDescriptions":{"typeIdentifier":"t_rational_200000000000_by_1","typeString":"int_const 200000000000"},"value":"200"},"nodeType":"VariableDeclarationStatement","src":"29120:33:164"},{"assignments":[99116],"declarations":[{"constant":false,"id":99116,"mutability":"mutable","name":"baseGasCharged","nameLocation":"29171:14:164","nodeType":"VariableDeclaration","scope":99214,"src":"29163:22:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99115,"name":"uint256","nodeType":"ElementaryTypeName","src":"29163:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99118,"initialValue":{"hexValue":"3430305f303030","id":99117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29188:7:164","typeDescriptions":{"typeIdentifier":"t_rational_400000_by_1","typeString":"int_const 400000"},"value":"400_000"},"nodeType":"VariableDeclarationStatement","src":"29163:32:164"},{"assignments":[99120],"declarations":[{"constant":false,"id":99120,"mutability":"mutable","name":"highGasCharged","nameLocation":"29213:14:164","nodeType":"VariableDeclaration","scope":99214,"src":"29205:22:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99119,"name":"uint256","nodeType":"ElementaryTypeName","src":"29205:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99122,"initialValue":{"hexValue":"3230305f3030305f303030","id":99121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29230:11:164","typeDescriptions":{"typeIdentifier":"t_rational_200000000_by_1","typeString":"int_const 200000000"},"value":"200_000_000"},"nodeType":"VariableDeclarationStatement","src":"29205:36:164"},{"assignments":[99124],"declarations":[{"constant":false,"id":99124,"mutability":"mutable","name":"a","nameLocation":"29993:1:164","nodeType":"VariableDeclaration","scope":99214,"src":"29985:9:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99123,"name":"uint256","nodeType":"ElementaryTypeName","src":"29985:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99128,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99125,"name":"highGasCharged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99120,"src":"29997:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":99126,"name":"baseGasCharged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99116,"src":"30014:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29997:31:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29985:43:164"},{"assignments":[99130],"declarations":[{"constant":false,"id":99130,"mutability":"mutable","name":"b","nameLocation":"30046:1:164","nodeType":"VariableDeclaration","scope":99214,"src":"30038:9:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99129,"name":"uint256","nodeType":"ElementaryTypeName","src":"30038:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99133,"initialValue":{"expression":{"id":99131,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30050:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"WAD","nodeType":"MemberAccess","referencedDeclaration":61009,"src":"30050:21:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30038:33:164"},{"assignments":[99135],"declarations":[{"constant":false,"id":99135,"mutability":"mutable","name":"c","nameLocation":"30089:1:164","nodeType":"VariableDeclaration","scope":99214,"src":"30081:9:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99134,"name":"uint256","nodeType":"ElementaryTypeName","src":"30081:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99140,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99136,"name":"MAX_GAME_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97723,"src":"30093:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":99137,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30110:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"WAD","nodeType":"MemberAccess","referencedDeclaration":61009,"src":"30110:21:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30093:38:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30081:50:164"},{"assignments":[99142],"declarations":[{"constant":false,"id":99142,"mutability":"mutable","name":"lnA","nameLocation":"30236:3:164","nodeType":"VariableDeclaration","scope":99214,"src":"30228:11:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99141,"name":"uint256","nodeType":"ElementaryTypeName","src":"30228:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99156,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99149,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99124,"src":"30281:1:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":99150,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30285:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"WAD","nodeType":"MemberAccess","referencedDeclaration":61009,"src":"30285:21:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30281:25:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30274:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":99147,"name":"int256","nodeType":"ElementaryTypeName","src":"30274:6:164","typeDescriptions":{}}},"id":99153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30274:33:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":99145,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30250:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"lnWad","nodeType":"MemberAccess","referencedDeclaration":61377,"src":"30250:23:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int256_$","typeString":"function (int256) pure returns (int256)"}},"id":99154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30250:58:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30242:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":99143,"name":"uint256","nodeType":"ElementaryTypeName","src":"30242:7:164","typeDescriptions":{}}},"id":99155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30242:67:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30228:81:164"},{"assignments":[99158],"declarations":[{"constant":false,"id":99158,"mutability":"mutable","name":"bOverC","nameLocation":"30394:6:164","nodeType":"VariableDeclaration","scope":99214,"src":"30386:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99157,"name":"uint256","nodeType":"ElementaryTypeName","src":"30386:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99164,"initialValue":{"arguments":[{"id":99161,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99130,"src":"30428:1:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":99162,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99135,"src":"30431:1:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99159,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30403:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"divWad","nodeType":"MemberAccess","referencedDeclaration":61093,"src":"30403:24:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":99163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30403:30:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30386:47:164"},{"assignments":[99166],"declarations":[{"constant":false,"id":99166,"mutability":"mutable","name":"numerator","nameLocation":"30575:9:164","nodeType":"VariableDeclaration","scope":99214,"src":"30567:17:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99165,"name":"uint256","nodeType":"ElementaryTypeName","src":"30567:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99172,"initialValue":{"arguments":[{"id":99169,"name":"lnA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99142,"src":"30612:3:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":99170,"name":"bOverC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99158,"src":"30617:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99167,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30587:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"mulWad","nodeType":"MemberAccess","referencedDeclaration":61021,"src":"30587:24:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":99171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30587:37:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30567:57:164"},{"assignments":[99174],"declarations":[{"constant":false,"id":99174,"mutability":"mutable","name":"base","nameLocation":"30641:4:164","nodeType":"VariableDeclaration","scope":99214,"src":"30634:11:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99173,"name":"int256","nodeType":"ElementaryTypeName","src":"30634:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":99182,"initialValue":{"arguments":[{"arguments":[{"id":99179,"name":"numerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99166,"src":"30680:9:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30673:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":99177,"name":"int256","nodeType":"ElementaryTypeName","src":"30673:6:164","typeDescriptions":{}}},"id":99180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30673:17:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":99175,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30648:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expWad","nodeType":"MemberAccess","referencedDeclaration":61367,"src":"30648:24:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int256_$","typeString":"function (int256) pure returns (int256)"}},"id":99181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30648:43:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30634:57:164"},{"assignments":[99184],"declarations":[{"constant":false,"id":99184,"mutability":"mutable","name":"rawGas","nameLocation":"30753:6:164","nodeType":"VariableDeclaration","scope":99214,"src":"30746:13:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99183,"name":"int256","nodeType":"ElementaryTypeName","src":"30746:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":99196,"initialValue":{"arguments":[{"id":99187,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99174,"src":"30787:4:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99190,"name":"depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99096,"src":"30800:5:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":99191,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30808:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"WAD","nodeType":"MemberAccess","referencedDeclaration":61009,"src":"30808:21:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30800:29:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30793:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":99188,"name":"int256","nodeType":"ElementaryTypeName","src":"30793:6:164","typeDescriptions":{}}},"id":99194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30793:37:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":99185,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30762:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"powWad","nodeType":"MemberAccess","referencedDeclaration":61178,"src":"30762:24:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256) pure returns (int256)"}},"id":99195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30762:69:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30746:85:164"},{"assignments":[99198],"declarations":[{"constant":false,"id":99198,"mutability":"mutable","name":"requiredGas","nameLocation":"30849:11:164","nodeType":"VariableDeclaration","scope":99214,"src":"30841:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99197,"name":"uint256","nodeType":"ElementaryTypeName","src":"30841:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99207,"initialValue":{"arguments":[{"id":99201,"name":"baseGasCharged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99116,"src":"30888:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":99204,"name":"rawGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99184,"src":"30912:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30904:7:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":99202,"name":"uint256","nodeType":"ElementaryTypeName","src":"30904:7:164","typeDescriptions":{}}},"id":99205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30904:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99199,"name":"FixedPointMathLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62288,"src":"30863:17:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointMathLib_$62288_$","typeString":"type(library FixedPointMathLib)"}},"id":99200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"mulWad","nodeType":"MemberAccess","referencedDeclaration":61021,"src":"30863:24:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":99206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30863:57:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30841:79:164"},{"expression":{"id":99212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99208,"name":"requiredBond_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99093,"src":"30969:13:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99209,"name":"assumedBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99112,"src":"30985:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":99210,"name":"requiredGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99198,"src":"31002:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30985:28:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30969:44:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99213,"nodeType":"ExpressionStatement","src":"30969:44:164"}]},"documentation":{"id":99087,"nodeType":"StructuredDocumentation","src":"28639:205:164","text":"@notice Returns the required bond for a given move kind.\n @param _position The position of the bonded interaction.\n @return requiredBond_ The required ETH bond for the given move, in wei."},"functionSelector":"c395e1ca","implemented":true,"kind":"function","modifiers":[],"name":"getRequiredBond","nameLocation":"28858:15:164","parameters":{"id":99091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99090,"mutability":"mutable","name":"_position","nameLocation":"28883:9:164","nodeType":"VariableDeclaration","scope":99215,"src":"28874:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99089,"nodeType":"UserDefinedTypeName","pathNode":{"id":99088,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"28874:8:164"},"referencedDeclaration":103269,"src":"28874:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"src":"28873:20:164"},"returnParameters":{"id":99094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99093,"mutability":"mutable","name":"requiredBond_","nameLocation":"28923:13:164","nodeType":"VariableDeclaration","scope":99215,"src":"28915:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99092,"name":"uint256","nodeType":"ElementaryTypeName","src":"28915:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28914:23:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":99264,"nodeType":"FunctionDefinition","src":"31160:671:164","nodes":[],"body":{"id":99263,"nodeType":"Block","src":"31210:621:164","nodes":[],"statements":[{"assignments":[99222],"declarations":[{"constant":false,"id":99222,"mutability":"mutable","name":"recipientCredit","nameLocation":"31315:15:164","nodeType":"VariableDeclaration","scope":99263,"src":"31307:23:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99221,"name":"uint256","nodeType":"ElementaryTypeName","src":"31307:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99226,"initialValue":{"baseExpression":{"id":99223,"name":"credit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97790,"src":"31333:6:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":99225,"indexExpression":{"id":99224,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99218,"src":"31340:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31333:18:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31307:44:164"},{"expression":{"id":99231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":99227,"name":"credit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97790,"src":"31361:6:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":99229,"indexExpression":{"id":99228,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99218,"src":"31368:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31361:18:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":99230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31382:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31361:22:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99232,"nodeType":"ExpressionStatement","src":"31361:22:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99233,"name":"recipientCredit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99222,"src":"31457:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":99234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31476:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31457:20:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99240,"nodeType":"IfStatement","src":"31453:75:164","trueBody":{"id":99239,"nodeType":"Block","src":"31479:49:164","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":99236,"name":"NoCreditToClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103126,"src":"31500:15:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":99237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31500:17:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99238,"nodeType":"RevertStatement","src":"31493:24:164"}]}},{"expression":{"arguments":[{"id":99244,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99218,"src":"31619:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99245,"name":"recipientCredit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99222,"src":"31631:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99241,"name":"WETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97742,"src":"31605:4:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"id":99243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"withdraw","nodeType":"MemberAccess","referencedDeclaration":100224,"src":"31605:13:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":99246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31605:42:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99247,"nodeType":"ExpressionStatement","src":"31605:42:164"},{"assignments":[99249,null],"declarations":[{"constant":false,"id":99249,"mutability":"mutable","name":"success","nameLocation":"31713:7:164","nodeType":"VariableDeclaration","scope":99263,"src":"31708:12:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99248,"name":"bool","nodeType":"ElementaryTypeName","src":"31708:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":99256,"initialValue":{"arguments":[{"hexValue":"","id":99254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"31767:5:164","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":99250,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99218,"src":"31725:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":99251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"31725:15:164","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":99253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":99252,"name":"recipientCredit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99222,"src":"31749:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"31725:41:164","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":99255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31725:48:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31707:66:164"},{"condition":{"id":99258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31787:8:164","subExpression":{"id":99257,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99249,"src":"31788:7:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99262,"nodeType":"IfStatement","src":"31783:41:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":99259,"name":"BondTransferFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103129,"src":"31804:18:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":99260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31804:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99261,"nodeType":"RevertStatement","src":"31797:27:164"}}]},"documentation":{"id":99216,"nodeType":"StructuredDocumentation","src":"31026:129:164","text":"@notice Claim the credit belonging to the recipient address.\n @param _recipient The owner and recipient of the credit."},"functionSelector":"60e27464","implemented":true,"kind":"function","modifiers":[],"name":"claimCredit","nameLocation":"31169:11:164","parameters":{"id":99219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99218,"mutability":"mutable","name":"_recipient","nameLocation":"31189:10:164","nodeType":"VariableDeclaration","scope":99264,"src":"31181:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99217,"name":"address","nodeType":"ElementaryTypeName","src":"31181:7:164","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31180:20:164"},"returnParameters":{"id":99220,"nodeType":"ParameterList","parameters":[],"src":"31210:0:164"},"scope":99927,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":99348,"nodeType":"FunctionDefinition","src":"32166:1011:164","nodes":[],"body":{"id":99347,"nodeType":"Block","src":"32259:918:164","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"},"id":99276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99273,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97777,"src":"32381:6:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":99274,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103277,"src":"32391:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$103277_$","typeString":"type(enum GameStatus)"}},"id":99275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"IN_PROGRESS","nodeType":"MemberAccess","referencedDeclaration":103274,"src":"32391:22:164","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$103277","typeString":"enum GameStatus"}},"src":"32381:32:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99281,"nodeType":"IfStatement","src":"32377:89:164","trueBody":{"id":99280,"nodeType":"Block","src":"32415:51:164","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":99277,"name":"GameNotInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103144,"src":"32436:17:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":99278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32436:19:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99279,"nodeType":"RevertStatement","src":"32429:26:164"}]}},{"assignments":[99284],"declarations":[{"constant":false,"id":99284,"mutability":"mutable","name":"subgameRootClaim","nameLocation":"32535:16:164","nodeType":"VariableDeclaration","scope":99347,"src":"32517:34:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":99283,"nodeType":"UserDefinedTypeName","pathNode":{"id":99282,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"32517:9:164"},"referencedDeclaration":100523,"src":"32517:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":99288,"initialValue":{"baseExpression":{"id":99285,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"32554:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":99287,"indexExpression":{"id":99286,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99267,"src":"32564:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32554:22:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"32517:59:164"},{"assignments":[99291],"declarations":[{"constant":false,"id":99291,"mutability":"mutable","name":"parentClock","nameLocation":"32664:11:164","nodeType":"VariableDeclaration","scope":99347,"src":"32658:17:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"},"typeName":{"id":99290,"nodeType":"UserDefinedTypeName","pathNode":{"id":99289,"name":"Clock","nodeType":"IdentifierPath","referencedDeclaration":103267,"src":"32658:5:164"},"referencedDeclaration":103267,"src":"32658:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}},"visibility":"internal"}],"id":99292,"nodeType":"VariableDeclarationStatement","src":"32658:17:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":99300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":99293,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99284,"src":"32689:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"parentIndex","nodeType":"MemberAccess","referencedDeclaration":100507,"src":"32689:28:164","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":99297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32726:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":99296,"name":"uint32","nodeType":"ElementaryTypeName","src":"32726:6:164","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":99295,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"32721:4:164","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":99298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32721:12:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":99299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"32721:16:164","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"32689:48:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99310,"nodeType":"IfStatement","src":"32685:138:164","trueBody":{"id":99309,"nodeType":"Block","src":"32739:84:164","statements":[{"expression":{"id":99307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99301,"name":"parentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99291,"src":"32753:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":99302,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"32767:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":99305,"indexExpression":{"expression":{"id":99303,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99284,"src":"32777:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"parentIndex","nodeType":"MemberAccess","referencedDeclaration":100507,"src":"32777:28:164","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32767:39:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"id":99306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":100522,"src":"32767:45:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}},"src":"32753:59:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}},"id":99308,"nodeType":"ExpressionStatement","src":"32753:59:164"}]}},{"assignments":[99312],"declarations":[{"constant":false,"id":99312,"mutability":"mutable","name":"challengeDuration","nameLocation":"32917:17:164","nodeType":"VariableDeclaration","scope":99347,"src":"32910:24:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":99311,"name":"uint64","nodeType":"ElementaryTypeName","src":"32910:6:164","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":99332,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99315,"name":"parentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99291,"src":"32956:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}},"id":99316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":101049,"src":"32956:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Clock_$103267_$returns$_t_userDefinedValueType$_Duration_$103263_$bound_to$_t_userDefinedValueType$_Clock_$103267_$","typeString":"function (Clock) pure returns (Duration)"}},"id":99317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32956:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":99318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"32956:26:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":99319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32956:28:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":99320,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32988:5:164","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":99321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"32988:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99322,"name":"subgameRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99284,"src":"33006:16:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":100522,"src":"33006:22:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Clock_$103267","typeString":"Clock"}},"id":99324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":101061,"src":"33006:32:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Clock_$103267_$returns$_t_userDefinedValueType$_Timestamp_$103261_$bound_to$_t_userDefinedValueType$_Clock_$103267_$","typeString":"function (Clock) pure returns (Timestamp)"}},"id":99325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33006:34:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$103261","typeString":"Timestamp"}},"id":99326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101124,"src":"33006:38:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$103261_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Timestamp_$103261_$","typeString":"function (Timestamp) pure returns (uint64)"}},"id":99327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33006:40:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"32988:58:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":99329,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"32987:60:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32956:91:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32949:6:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":99313,"name":"uint64","nodeType":"ElementaryTypeName","src":"32949:6:164","typeDescriptions":{}}},"id":99331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32949:99:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"32910:138:164"},{"expression":{"id":99345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99333,"name":"duration_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99271,"src":"33058:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":99338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99334,"name":"challengeDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99312,"src":"33070:17:164","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99335,"name":"MAX_CLOCK_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97730,"src":"33090:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":99336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101098,"src":"33090:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Duration_$103263_$returns$_t_uint64_$bound_to$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (Duration) pure returns (uint64)"}},"id":99337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33090:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"33070:44:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":99342,"name":"challengeDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99312,"src":"33152:17:164","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":99340,"name":"Duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103263,"src":"33138:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Duration_$103263_$","typeString":"type(Duration)"}},"id":99341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"33138:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Duration_$103263_$","typeString":"function (uint64) pure returns (Duration)"}},"id":99343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33138:32:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":99344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"33070:100:164","trueExpression":{"id":99339,"name":"MAX_CLOCK_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97730,"src":"33117:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"src":"33058:112:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":99346,"nodeType":"ExpressionStatement","src":"33058:112:164"}]},"documentation":{"id":99265,"nodeType":"StructuredDocumentation","src":"31837:324:164","text":"@notice Returns the amount of time elapsed on the potential challenger to `_claimIndex`'s chess clock. Maxes\n         out at `MAX_CLOCK_DURATION`.\n @param _claimIndex The index of the subgame root claim.\n @return duration_ The time elapsed on the potential challenger to `_claimIndex`'s chess clock."},"functionSelector":"bd8da956","implemented":true,"kind":"function","modifiers":[],"name":"getChallengerDuration","nameLocation":"32175:21:164","parameters":{"id":99268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99267,"mutability":"mutable","name":"_claimIndex","nameLocation":"32205:11:164","nodeType":"VariableDeclaration","scope":99348,"src":"32197:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99266,"name":"uint256","nodeType":"ElementaryTypeName","src":"32197:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32196:21:164"},"returnParameters":{"id":99272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99271,"mutability":"mutable","name":"duration_","nameLocation":"32248:9:164","nodeType":"VariableDeclaration","scope":99348,"src":"32239:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":99270,"nodeType":"UserDefinedTypeName","pathNode":{"id":99269,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"32239:8:164"},"referencedDeclaration":103263,"src":"32239:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"}],"src":"32238:20:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":99360,"nodeType":"FunctionDefinition","src":"33244:101:164","nodes":[],"body":{"id":99359,"nodeType":"Block","src":"33305:40:164","nodes":[],"statements":[{"expression":{"id":99357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99354,"name":"len_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99352,"src":"33315:4:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":99355,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"33322:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":99356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"33322:16:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33315:23:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99358,"nodeType":"ExpressionStatement","src":"33315:23:164"}]},"documentation":{"id":99349,"nodeType":"StructuredDocumentation","src":"33183:56:164","text":"@notice Returns the length of the `claimData` array."},"functionSelector":"8980e0cc","implemented":true,"kind":"function","modifiers":[],"name":"claimDataLen","nameLocation":"33253:12:164","parameters":{"id":99350,"nodeType":"ParameterList","parameters":[],"src":"33265:2:164"},"returnParameters":{"id":99353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99352,"mutability":"mutable","name":"len_","nameLocation":"33299:4:164","nodeType":"VariableDeclaration","scope":99360,"src":"33291:12:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99351,"name":"uint256","nodeType":"ElementaryTypeName","src":"33291:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33290:14:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99372,"nodeType":"FunctionDefinition","src":"33631:130:164","nodes":[],"body":{"id":99371,"nodeType":"Block","src":"33707:54:164","nodes":[],"statements":[{"expression":{"id":99369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99367,"name":"absolutePrestate_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99365,"src":"33717:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99368,"name":"ABSOLUTE_PRESTATE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97720,"src":"33737:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"src":"33717:37:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":99370,"nodeType":"ExpressionStatement","src":"33717:37:164"}]},"documentation":{"id":99361,"nodeType":"StructuredDocumentation","src":"33559:67:164","text":"@notice Returns the absolute prestate of the instruction trace."},"functionSelector":"8d450a95","implemented":true,"kind":"function","modifiers":[],"name":"absolutePrestate","nameLocation":"33640:16:164","parameters":{"id":99362,"nodeType":"ParameterList","parameters":[],"src":"33656:2:164"},"returnParameters":{"id":99366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99365,"mutability":"mutable","name":"absolutePrestate_","nameLocation":"33688:17:164","nodeType":"VariableDeclaration","scope":99372,"src":"33682:23:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99364,"nodeType":"UserDefinedTypeName","pathNode":{"id":99363,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"33682:5:164"},"referencedDeclaration":103255,"src":"33682:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"}],"src":"33681:25:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99383,"nodeType":"FunctionDefinition","src":"33811:117:164","nodes":[],"body":{"id":99382,"nodeType":"Block","src":"33881:47:164","nodes":[],"statements":[{"expression":{"id":99380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99378,"name":"maxGameDepth_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99376,"src":"33891:13:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99379,"name":"MAX_GAME_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97723,"src":"33907:14:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33891:30:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99381,"nodeType":"ExpressionStatement","src":"33891:30:164"}]},"documentation":{"id":99373,"nodeType":"StructuredDocumentation","src":"33767:39:164","text":"@notice Returns the max game depth."},"functionSelector":"fa315aa9","implemented":true,"kind":"function","modifiers":[],"name":"maxGameDepth","nameLocation":"33820:12:164","parameters":{"id":99374,"nodeType":"ParameterList","parameters":[],"src":"33832:2:164"},"returnParameters":{"id":99377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99376,"mutability":"mutable","name":"maxGameDepth_","nameLocation":"33866:13:164","nodeType":"VariableDeclaration","scope":99383,"src":"33858:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99375,"name":"uint256","nodeType":"ElementaryTypeName","src":"33858:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33857:23:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99394,"nodeType":"FunctionDefinition","src":"33975:108:164","nodes":[],"body":{"id":99393,"nodeType":"Block","src":"34041:42:164","nodes":[],"statements":[{"expression":{"id":99391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99389,"name":"splitDepth_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99387,"src":"34051:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99390,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"34065:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34051:25:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99392,"nodeType":"ExpressionStatement","src":"34051:25:164"}]},"documentation":{"id":99384,"nodeType":"StructuredDocumentation","src":"33934:36:164","text":"@notice Returns the split depth."},"functionSelector":"ec5e6308","implemented":true,"kind":"function","modifiers":[],"name":"splitDepth","nameLocation":"33984:10:164","parameters":{"id":99385,"nodeType":"ParameterList","parameters":[],"src":"33994:2:164"},"returnParameters":{"id":99388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99387,"mutability":"mutable","name":"splitDepth_","nameLocation":"34028:11:164","nodeType":"VariableDeclaration","scope":99394,"src":"34020:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99386,"name":"uint256","nodeType":"ElementaryTypeName","src":"34020:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34019:21:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99406,"nodeType":"FunctionDefinition","src":"34137:134:164","nodes":[],"body":{"id":99405,"nodeType":"Block","src":"34216:55:164","nodes":[],"statements":[{"expression":{"id":99403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99401,"name":"maxClockDuration_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99399,"src":"34226:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99402,"name":"MAX_CLOCK_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97730,"src":"34246:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"src":"34226:38:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":99404,"nodeType":"ExpressionStatement","src":"34226:38:164"}]},"documentation":{"id":99395,"nodeType":"StructuredDocumentation","src":"34089:43:164","text":"@notice Returns the max clock duration."},"functionSelector":"dabd396d","implemented":true,"kind":"function","modifiers":[],"name":"maxClockDuration","nameLocation":"34146:16:164","parameters":{"id":99396,"nodeType":"ParameterList","parameters":[],"src":"34162:2:164"},"returnParameters":{"id":99400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99399,"mutability":"mutable","name":"maxClockDuration_","nameLocation":"34197:17:164","nodeType":"VariableDeclaration","scope":99406,"src":"34188:26:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":99398,"nodeType":"UserDefinedTypeName","pathNode":{"id":99397,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"34188:8:164"},"referencedDeclaration":103263,"src":"34188:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"}],"src":"34187:28:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99418,"nodeType":"FunctionDefinition","src":"34331:125:164","nodes":[],"body":{"id":99417,"nodeType":"Block","src":"34406:50:164","nodes":[],"statements":[{"expression":{"id":99415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99413,"name":"clockExtension_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99411,"src":"34416:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99414,"name":"CLOCK_EXTENSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"34434:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"src":"34416:33:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"id":99416,"nodeType":"ExpressionStatement","src":"34416:33:164"}]},"documentation":{"id":99407,"nodeType":"StructuredDocumentation","src":"34277:49:164","text":"@notice Returns the clock extension constant."},"functionSelector":"6b6716c0","implemented":true,"kind":"function","modifiers":[],"name":"clockExtension","nameLocation":"34340:14:164","parameters":{"id":99408,"nodeType":"ParameterList","parameters":[],"src":"34354:2:164"},"returnParameters":{"id":99412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99411,"mutability":"mutable","name":"clockExtension_","nameLocation":"34389:15:164","nodeType":"VariableDeclaration","scope":99418,"src":"34380:24:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"},"typeName":{"id":99410,"nodeType":"UserDefinedTypeName","pathNode":{"id":99409,"name":"Duration","nodeType":"IdentifierPath","referencedDeclaration":103263,"src":"34380:8:164"},"referencedDeclaration":103263,"src":"34380:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Duration_$103263","typeString":"Duration"}},"visibility":"internal"}],"src":"34379:26:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99430,"nodeType":"FunctionDefinition","src":"34509:79:164","nodes":[],"body":{"id":99429,"nodeType":"Block","src":"34563:25:164","nodes":[],"statements":[{"expression":{"id":99427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99425,"name":"vm_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99423,"src":"34573:3:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99426,"name":"VM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97734,"src":"34579:2:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"src":"34573:8:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"id":99428,"nodeType":"ExpressionStatement","src":"34573:8:164"}]},"documentation":{"id":99419,"nodeType":"StructuredDocumentation","src":"34462:42:164","text":"@notice Returns the address of the VM."},"functionSelector":"3a768463","implemented":true,"kind":"function","modifiers":[],"name":"vm","nameLocation":"34518:2:164","parameters":{"id":99420,"nodeType":"ParameterList","parameters":[],"src":"34520:2:164"},"returnParameters":{"id":99424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99423,"mutability":"mutable","name":"vm_","nameLocation":"34558:3:164","nodeType":"VariableDeclaration","scope":99430,"src":"34546:15:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"},"typeName":{"id":99422,"nodeType":"UserDefinedTypeName","pathNode":{"id":99421,"name":"IBigStepper","nodeType":"IdentifierPath","referencedDeclaration":100171,"src":"34546:11:164"},"referencedDeclaration":100171,"src":"34546:11:164","typeDescriptions":{"typeIdentifier":"t_contract$_IBigStepper_$100171","typeString":"contract IBigStepper"}},"visibility":"internal"}],"src":"34545:17:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99442,"nodeType":"FunctionDefinition","src":"34653:88:164","nodes":[],"body":{"id":99441,"nodeType":"Block","src":"34712:29:164","nodes":[],"statements":[{"expression":{"id":99439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99437,"name":"weth_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99435,"src":"34722:5:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99438,"name":"WETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97742,"src":"34730:4:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"src":"34722:12:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"id":99440,"nodeType":"ExpressionStatement","src":"34722:12:164"}]},"documentation":{"id":99431,"nodeType":"StructuredDocumentation","src":"34594:54:164","text":"@notice Returns the WETH contract for holding ETH."},"functionSelector":"3fc8cef3","implemented":true,"kind":"function","modifiers":[],"name":"weth","nameLocation":"34662:4:164","parameters":{"id":99432,"nodeType":"ParameterList","parameters":[],"src":"34666:2:164"},"returnParameters":{"id":99436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99435,"mutability":"mutable","name":"weth_","nameLocation":"34705:5:164","nodeType":"VariableDeclaration","scope":99442,"src":"34692:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"},"typeName":{"id":99434,"nodeType":"UserDefinedTypeName","pathNode":{"id":99433,"name":"IDelayedWETH","nodeType":"IdentifierPath","referencedDeclaration":100239,"src":"34692:12:164"},"referencedDeclaration":100239,"src":"34692:12:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"visibility":"internal"}],"src":"34691:20:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99454,"nodeType":"FunctionDefinition","src":"34807:136:164","nodes":[],"body":{"id":99453,"nodeType":"Block","src":"34893:50:164","nodes":[],"statements":[{"expression":{"id":99451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99449,"name":"registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99447,"src":"34903:9:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99450,"name":"ANCHOR_STATE_REGISTRY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97746,"src":"34915:21:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"src":"34903:33:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"id":99452,"nodeType":"ExpressionStatement","src":"34903:33:164"}]},"documentation":{"id":99443,"nodeType":"StructuredDocumentation","src":"34747:55:164","text":"@notice Returns the anchor state registry contract."},"functionSelector":"5c0cba33","implemented":true,"kind":"function","modifiers":[],"name":"anchorStateRegistry","nameLocation":"34816:19:164","parameters":{"id":99444,"nodeType":"ParameterList","parameters":[],"src":"34835:2:164"},"returnParameters":{"id":99448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99447,"mutability":"mutable","name":"registry_","nameLocation":"34882:9:164","nodeType":"VariableDeclaration","scope":99454,"src":"34861:30:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"},"typeName":{"id":99446,"nodeType":"UserDefinedTypeName","pathNode":{"id":99445,"name":"IAnchorStateRegistry","nodeType":"IdentifierPath","referencedDeclaration":100146,"src":"34861:20:164"},"referencedDeclaration":100146,"src":"34861:20:164","typeDescriptions":{"typeIdentifier":"t_contract$_IAnchorStateRegistry_$100146","typeString":"contract IAnchorStateRegistry"}},"visibility":"internal"}],"src":"34860:32:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99465,"nodeType":"FunctionDefinition","src":"35032:105:164","nodes":[],"body":{"id":99464,"nodeType":"Block","src":"35096:41:164","nodes":[],"statements":[{"expression":{"id":99462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99460,"name":"l2ChainId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99458,"src":"35106:10:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99461,"name":"L2_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97749,"src":"35119:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35106:24:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99463,"nodeType":"ExpressionStatement","src":"35106:24:164"}]},"documentation":{"id":99455,"nodeType":"StructuredDocumentation","src":"34949:78:164","text":"@notice Returns the chain ID of the L2 network this contract argues about."},"functionSelector":"d6ae3cd5","implemented":true,"kind":"function","modifiers":[],"name":"l2ChainId","nameLocation":"35041:9:164","parameters":{"id":99456,"nodeType":"ParameterList","parameters":[],"src":"35050:2:164"},"returnParameters":{"id":99459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99458,"mutability":"mutable","name":"l2ChainId_","nameLocation":"35084:10:164","nodeType":"VariableDeclaration","scope":99465,"src":"35076:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99457,"name":"uint256","nodeType":"ElementaryTypeName","src":"35076:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35075:20:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":99493,"nodeType":"FunctionDefinition","src":"35528:361:164","nodes":[],"body":{"id":99492,"nodeType":"Block","src":"35609:280:164","nodes":[],"statements":[{"assignments":[99475],"declarations":[{"constant":false,"id":99475,"mutability":"mutable","name":"bond","nameLocation":"35714:4:164","nodeType":"VariableDeclaration","scope":99492,"src":"35706:12:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99474,"name":"uint256","nodeType":"ElementaryTypeName","src":"35706:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99478,"initialValue":{"expression":{"id":99476,"name":"_bonded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99471,"src":"35721:7:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":100513,"src":"35721:12:164","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"35706:27:164"},{"expression":{"id":99483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":99479,"name":"credit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97790,"src":"35788:6:164","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":99481,"indexExpression":{"id":99480,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99468,"src":"35795:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35788:18:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":99482,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99475,"src":"35810:4:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35788:26:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99484,"nodeType":"ExpressionStatement","src":"35788:26:164"},{"expression":{"arguments":[{"id":99488,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99468,"src":"35865:10:164","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":99489,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99475,"src":"35877:4:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99485,"name":"WETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97742,"src":"35853:4:164","typeDescriptions":{"typeIdentifier":"t_contract$_IDelayedWETH_$100239","typeString":"contract IDelayedWETH"}},"id":99487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":100216,"src":"35853:11:164","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":99490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35853:29:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99491,"nodeType":"ExpressionStatement","src":"35853:29:164"}]},"documentation":{"id":99466,"nodeType":"StructuredDocumentation","src":"35351:172:164","text":"@notice Pays out the bond of a claim to a given recipient.\n @param _recipient The recipient of the bond.\n @param _bonded The claim to pay out the bond of."},"implemented":true,"kind":"function","modifiers":[],"name":"_distributeBond","nameLocation":"35537:15:164","parameters":{"id":99472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99468,"mutability":"mutable","name":"_recipient","nameLocation":"35561:10:164","nodeType":"VariableDeclaration","scope":99493,"src":"35553:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99467,"name":"address","nodeType":"ElementaryTypeName","src":"35553:7:164","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":99471,"mutability":"mutable","name":"_bonded","nameLocation":"35591:7:164","nodeType":"VariableDeclaration","scope":99493,"src":"35573:25:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":99470,"nodeType":"UserDefinedTypeName","pathNode":{"id":99469,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"35573:9:164"},"referencedDeclaration":100523,"src":"35573:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"src":"35552:47:164"},"returnParameters":{"id":99473,"nodeType":"ParameterList","parameters":[],"src":"35609:0:164"},"scope":99927,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":99587,"nodeType":"FunctionDefinition","src":"36108:1977:164","nodes":[],"body":{"id":99586,"nodeType":"Block","src":"36289:1796:164","nodes":[],"statements":[{"assignments":[99509],"declarations":[{"constant":false,"id":99509,"mutability":"mutable","name":"disputedLeafPos","nameLocation":"36869:15:164","nodeType":"VariableDeclaration","scope":99586,"src":"36860:24:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99508,"nodeType":"UserDefinedTypeName","pathNode":{"id":99507,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"36860:8:164"},"referencedDeclaration":103269,"src":"36860:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":99518,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":99516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99512,"name":"_parentPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99502,"src":"36901:10:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"36901:14:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36901:16:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":99515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36920:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"36901:20:164","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":99510,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103269,"src":"36887:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Position_$103269_$","typeString":"type(Position)"}},"id":99511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"36887:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint128) pure returns (Position)"}},"id":99517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36887:35:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"nodeType":"VariableDeclarationStatement","src":"36860:62:164"},{"assignments":[99521],"declarations":[{"constant":false,"id":99521,"mutability":"mutable","name":"disputed","nameLocation":"36950:8:164","nodeType":"VariableDeclaration","scope":99586,"src":"36932:26:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":99520,"nodeType":"UserDefinedTypeName","pathNode":{"id":99519,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"36932:9:164"},"referencedDeclaration":100523,"src":"36932:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":99527,"initialValue":{"arguments":[{"id":99523,"name":"disputedLeafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99509,"src":"36988:15:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":99524,"name":"_parentIdx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99499,"src":"37013:10:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":99525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37034:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":99522,"name":"_findTraceAncestor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99638,"src":"36961:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Position_$103269_$_t_uint256_$_t_bool_$returns$_t_struct$_ClaimData_$100523_storage_ptr_$","typeString":"function (Position,uint256,bool) view returns (struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":99526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_pos","_start","_global"],"nodeType":"FunctionCall","src":"36961:80:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"36932:109:164"},{"assignments":[99529],"declarations":[{"constant":false,"id":99529,"mutability":"mutable","name":"vmStatus","nameLocation":"37057:8:164","nodeType":"VariableDeclaration","scope":99586,"src":"37051:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":99528,"name":"uint8","nodeType":"ElementaryTypeName","src":"37051:5:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":99538,"initialValue":{"arguments":[{"baseExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99532,"name":"_rootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99497,"src":"37074:10:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":99533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101085,"src":"37074:14:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$103255_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function (Claim) pure returns (bytes32)"}},"id":99534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37074:16:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":99536,"indexExpression":{"hexValue":"30","id":99535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37091:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37074:19:164","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":99531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37068:5:164","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":99530,"name":"uint8","nodeType":"ElementaryTypeName","src":"37068:5:164","typeDescriptions":{}}},"id":99537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37068:26:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"37051:43:164"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":99550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99539,"name":"_isAttack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99504,"src":"37109:9:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":99545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99540,"name":"disputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99521,"src":"37122:8:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"37122:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":100833,"src":"37122:23:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint8)"}},"id":99543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37122:25:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"32","id":99544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37150:1:164","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"37122:29:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99546,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"37155:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"32","id":99547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37169:1:164","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"37155:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37122:48:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37109:61:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":99578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99573,"name":"vmStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99529,"src":"37816:8:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99574,"name":"VMStatuses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103351,"src":"37828:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VMStatuses_$103351_$","typeString":"type(library VMStatuses)"}},"id":99575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"VALID","nodeType":"MemberAccess","referencedDeclaration":103326,"src":"37828:16:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$103273","typeString":"VMStatus"}},"id":99576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101137,"src":"37828:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_VMStatus_$103273_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_VMStatus_$103273_$","typeString":"function (VMStatus) pure returns (uint8)"}},"id":99577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37828:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"37816:34:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99584,"nodeType":"IfStatement","src":"37812:267:164","trueBody":{"id":99583,"nodeType":"Block","src":"37852:227:164","statements":[{"errorCall":{"arguments":[{"id":99580,"name":"_rootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99497,"src":"38057:10:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}],"id":99579,"name":"UnexpectedRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103117,"src":"38037:19:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_Claim_$103255_$returns$__$","typeString":"function (Claim) pure"}},"id":99581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38037:31:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99582,"nodeType":"RevertStatement","src":"38030:38:164"}]}},"id":99585,"nodeType":"IfStatement","src":"37105:974:164","trueBody":{"id":99572,"nodeType":"Block","src":"37172:634:164","statements":[{"condition":{"id":99565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37646:77:164","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":99563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":99556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99551,"name":"vmStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99529,"src":"37648:8:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99552,"name":"VMStatuses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103351,"src":"37660:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VMStatuses_$103351_$","typeString":"type(library VMStatuses)"}},"id":99553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"INVALID","nodeType":"MemberAccess","referencedDeclaration":103334,"src":"37660:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$103273","typeString":"VMStatus"}},"id":99554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101137,"src":"37660:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_VMStatus_$103273_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_VMStatus_$103273_$","typeString":"function (VMStatus) pure returns (uint8)"}},"id":99555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37660:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"37648:36:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":99562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99557,"name":"vmStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99529,"src":"37688:8:164","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99558,"name":"VMStatuses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103351,"src":"37700:10:164","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VMStatuses_$103351_$","typeString":"type(library VMStatuses)"}},"id":99559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"PANIC","nodeType":"MemberAccess","referencedDeclaration":103342,"src":"37700:16:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$103273","typeString":"VMStatus"}},"id":99560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101137,"src":"37700:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_VMStatus_$103273_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_VMStatus_$103273_$","typeString":"function (VMStatus) pure returns (uint8)"}},"id":99561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37700:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"37688:34:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37648:74:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":99564,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37647:76:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99571,"nodeType":"IfStatement","src":"37642:154:164","trueBody":{"id":99570,"nodeType":"Block","src":"37725:71:164","statements":[{"errorCall":{"arguments":[{"id":99567,"name":"_rootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99497,"src":"37770:10:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}],"id":99566,"name":"UnexpectedRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103117,"src":"37750:19:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_Claim_$103255_$returns$__$","typeString":"function (Claim) pure"}},"id":99568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37750:31:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99569,"nodeType":"RevertStatement","src":"37743:38:164"}]}}]}}]},"documentation":{"id":99494,"nodeType":"StructuredDocumentation","src":"35895:208:164","text":"@notice Verifies the integrity of an execution bisection subgame's root claim. Reverts if the claim\n         is invalid.\n @param _rootClaim The root claim of the execution bisection subgame."},"implemented":true,"kind":"function","modifiers":[],"name":"_verifyExecBisectionRoot","nameLocation":"36117:24:164","parameters":{"id":99505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99497,"mutability":"mutable","name":"_rootClaim","nameLocation":"36157:10:164","nodeType":"VariableDeclaration","scope":99587,"src":"36151:16:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99496,"nodeType":"UserDefinedTypeName","pathNode":{"id":99495,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"36151:5:164"},"referencedDeclaration":103255,"src":"36151:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":99499,"mutability":"mutable","name":"_parentIdx","nameLocation":"36185:10:164","nodeType":"VariableDeclaration","scope":99587,"src":"36177:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99498,"name":"uint256","nodeType":"ElementaryTypeName","src":"36177:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":99502,"mutability":"mutable","name":"_parentPos","nameLocation":"36214:10:164","nodeType":"VariableDeclaration","scope":99587,"src":"36205:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99501,"nodeType":"UserDefinedTypeName","pathNode":{"id":99500,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"36205:8:164"},"referencedDeclaration":103269,"src":"36205:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"},{"constant":false,"id":99504,"mutability":"mutable","name":"_isAttack","nameLocation":"36239:9:164","nodeType":"VariableDeclaration","scope":99587,"src":"36234:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99503,"name":"bool","nodeType":"ElementaryTypeName","src":"36234:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36141:113:164"},"returnParameters":{"id":99506,"nodeType":"ParameterList","parameters":[],"src":"36289:0:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":99638,"nodeType":"FunctionDefinition","src":"38605:677:164","nodes":[],"body":{"id":99637,"nodeType":"Block","src":"38788:494:164","nodes":[],"statements":[{"assignments":[99603],"declarations":[{"constant":false,"id":99603,"mutability":"mutable","name":"traceAncestorPos","nameLocation":"38863:16:164","nodeType":"VariableDeclaration","scope":99637,"src":"38854:25:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99602,"nodeType":"UserDefinedTypeName","pathNode":{"id":99601,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"38854:8:164"},"referencedDeclaration":103269,"src":"38854:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":99613,"initialValue":{"condition":{"id":99604,"name":"_global","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99595,"src":"38882:7:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":99610,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"38941:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":99608,"name":"_pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99591,"src":"38915:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"traceAncestorBounded","nodeType":"MemberAccess","referencedDeclaration":100992,"src":"38915:25:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$_t_uint256_$returns$_t_userDefinedValueType$_Position_$103269_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position,uint256) pure returns (Position)"}},"id":99611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38915:38:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"38882:71:164","trueExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99605,"name":"_pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99591,"src":"38892:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"traceAncestor","nodeType":"MemberAccess","referencedDeclaration":100948,"src":"38892:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_userDefinedValueType$_Position_$103269_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (Position)"}},"id":99607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38892:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"nodeType":"VariableDeclarationStatement","src":"38854:99:164"},{"expression":{"id":99618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99614,"name":"ancestor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99599,"src":"39109:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":99615,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"39121:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":99617,"indexExpression":{"id":99616,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99593,"src":"39131:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39121:17:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"src":"39109:29:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99619,"nodeType":"ExpressionStatement","src":"39109:29:164"},{"body":{"id":99635,"nodeType":"Block","src":"39207:69:164","statements":[{"expression":{"id":99633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99628,"name":"ancestor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99599,"src":"39221:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":99629,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"39233:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":99632,"indexExpression":{"expression":{"id":99630,"name":"ancestor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99599,"src":"39243:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"parentIndex","nodeType":"MemberAccess","referencedDeclaration":100507,"src":"39243:21:164","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39233:32:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"src":"39221:44:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99634,"nodeType":"ExpressionStatement","src":"39221:44:164"}]},"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":99627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99620,"name":"ancestor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99599,"src":"39155:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"39155:18:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"39155:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39155:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99624,"name":"traceAncestorPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99603,"src":"39183:16:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"39183:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39183:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"39155:50:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99636,"nodeType":"WhileStatement","src":"39148:128:164"}]},"documentation":{"id":99588,"nodeType":"StructuredDocumentation","src":"38091:509:164","text":"@notice Finds the trace ancestor of a given position within the DAG.\n @param _pos The position to find the trace ancestor claim of.\n @param _start The index to start searching from.\n @param _global Whether or not to search the entire dag or just within an execution trace subgame. If set to\n                `true`, and `_pos` is at or above the split depth, this function will revert.\n @return ancestor_ The ancestor claim that commits to the same trace index as `_pos`."},"implemented":true,"kind":"function","modifiers":[],"name":"_findTraceAncestor","nameLocation":"38614:18:164","parameters":{"id":99596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99591,"mutability":"mutable","name":"_pos","nameLocation":"38651:4:164","nodeType":"VariableDeclaration","scope":99638,"src":"38642:13:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99590,"nodeType":"UserDefinedTypeName","pathNode":{"id":99589,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"38642:8:164"},"referencedDeclaration":103269,"src":"38642:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"},{"constant":false,"id":99593,"mutability":"mutable","name":"_start","nameLocation":"38673:6:164","nodeType":"VariableDeclaration","scope":99638,"src":"38665:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99592,"name":"uint256","nodeType":"ElementaryTypeName","src":"38665:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":99595,"mutability":"mutable","name":"_global","nameLocation":"38694:7:164","nodeType":"VariableDeclaration","scope":99638,"src":"38689:12:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99594,"name":"bool","nodeType":"ElementaryTypeName","src":"38689:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38632:75:164"},"returnParameters":{"id":99600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99599,"mutability":"mutable","name":"ancestor_","nameLocation":"38773:9:164","nodeType":"VariableDeclaration","scope":99638,"src":"38755:27:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":99598,"nodeType":"UserDefinedTypeName","pathNode":{"id":99597,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"38755:9:164"},"referencedDeclaration":100523,"src":"38755:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"src":"38754:29:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":99840,"nodeType":"FunctionDefinition","src":"39797:3468:164","nodes":[],"body":{"id":99839,"nodeType":"Block","src":"39995:3270:164","nodes":[],"statements":[{"assignments":[99657],"declarations":[{"constant":false,"id":99657,"mutability":"mutable","name":"claimIdx","nameLocation":"40050:8:164","nodeType":"VariableDeclaration","scope":99839,"src":"40042:16:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99656,"name":"uint256","nodeType":"ElementaryTypeName","src":"40042:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99659,"initialValue":{"id":99658,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99641,"src":"40061:6:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"40042:25:164"},{"assignments":[99662],"declarations":[{"constant":false,"id":99662,"mutability":"mutable","name":"claim","nameLocation":"40095:5:164","nodeType":"VariableDeclaration","scope":99839,"src":"40077:23:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":99661,"nodeType":"UserDefinedTypeName","pathNode":{"id":99660,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"40077:9:164"},"referencedDeclaration":100523,"src":"40077:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":99666,"initialValue":{"baseExpression":{"id":99663,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"40103:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":99665,"indexExpression":{"id":99664,"name":"claimIdx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99657,"src":"40113:8:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40103:19:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"40077:45:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99667,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"40245:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99668,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"40245:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":100833,"src":"40245:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint8)"}},"id":99670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40245:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":99671,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"40271:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40245:37:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99676,"nodeType":"IfStatement","src":"40241:67:164","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":99673,"name":"ClaimAboveSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103177,"src":"40291:15:164","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":99674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40291:17:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99675,"nodeType":"RevertStatement","src":"40284:24:164"}},{"assignments":[99678],"declarations":[{"constant":false,"id":99678,"mutability":"mutable","name":"currentDepth","nameLocation":"40667:12:164","nodeType":"VariableDeclaration","scope":99839,"src":"40659:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99677,"name":"uint256","nodeType":"ElementaryTypeName","src":"40659:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99679,"nodeType":"VariableDeclarationStatement","src":"40659:20:164"},{"assignments":[99682],"declarations":[{"constant":false,"id":99682,"mutability":"mutable","name":"execRootClaim","nameLocation":"40707:13:164","nodeType":"VariableDeclaration","scope":99839,"src":"40689:31:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":99681,"nodeType":"UserDefinedTypeName","pathNode":{"id":99680,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"40689:9:164"},"referencedDeclaration":100523,"src":"40689:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":99684,"initialValue":{"id":99683,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"40723:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"40689:39:164"},{"body":{"id":99719,"nodeType":"Block","src":"40800:509:164","statements":[{"assignments":[99695],"declarations":[{"constant":false,"id":99695,"mutability":"mutable","name":"parentIndex","nameLocation":"40822:11:164","nodeType":"VariableDeclaration","scope":99719,"src":"40814:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99694,"name":"uint256","nodeType":"ElementaryTypeName","src":"40814:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99698,"initialValue":{"expression":{"id":99696,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"40836:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"parentIndex","nodeType":"MemberAccess","referencedDeclaration":100507,"src":"40836:17:164","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"40814:39:164"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99699,"name":"currentDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99678,"src":"41163:12:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99700,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"41179:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":99701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41193:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41179:15:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41163:31:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99708,"nodeType":"IfStatement","src":"41159:58:164","trueBody":{"expression":{"id":99706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99704,"name":"execRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99682,"src":"41196:13:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99705,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"41212:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"src":"41196:21:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99707,"nodeType":"ExpressionStatement","src":"41196:21:164"}},{"expression":{"id":99713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99709,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"41232:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":99710,"name":"claimData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97785,"src":"41240:9:164","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ClaimData_$100523_storage_$dyn_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref[] storage ref"}},"id":99712,"indexExpression":{"id":99711,"name":"parentIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99695,"src":"41250:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"41240:22:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage","typeString":"struct IFaultDisputeGame.ClaimData storage ref"}},"src":"41232:30:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99714,"nodeType":"ExpressionStatement","src":"41232:30:164"},{"expression":{"id":99717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99715,"name":"claimIdx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99657,"src":"41276:8:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":99716,"name":"parentIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99695,"src":"41287:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41276:22:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":99718,"nodeType":"ExpressionStatement","src":"41276:22:164"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"id":99690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99685,"name":"currentDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99678,"src":"40746:12:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99686,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"40761:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99687,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"40761:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":100833,"src":"40761:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint8_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint8)"}},"id":99689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40761:22:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"40746:37:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":99691,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40745:39:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":99692,"name":"SPLIT_DEPTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97726,"src":"40787:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40745:53:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99720,"nodeType":"WhileStatement","src":"40738:571:164"},{"assignments":[99723,99726],"declarations":[{"constant":false,"id":99723,"mutability":"mutable","name":"execRootPos","nameLocation":"41586:11:164","nodeType":"VariableDeclaration","scope":99839,"src":"41577:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99722,"nodeType":"UserDefinedTypeName","pathNode":{"id":99721,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"41577:8:164"},"referencedDeclaration":103269,"src":"41577:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"},{"constant":false,"id":99726,"mutability":"mutable","name":"outputPos","nameLocation":"41608:9:164","nodeType":"VariableDeclaration","scope":99839,"src":"41599:18:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99725,"nodeType":"UserDefinedTypeName","pathNode":{"id":99724,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"41599:8:164"},"referencedDeclaration":103269,"src":"41599:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":99732,"initialValue":{"components":[{"expression":{"id":99727,"name":"execRootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99682,"src":"41622:13:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"41622:22:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"expression":{"id":99729,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"41646:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"41646:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99731,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41621:40:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Position_$103269_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Position,Position)"}},"nodeType":"VariableDeclarationStatement","src":"41576:85:164"},{"assignments":[99734],"declarations":[{"constant":false,"id":99734,"mutability":"mutable","name":"wasAttack","nameLocation":"41676:9:164","nodeType":"VariableDeclaration","scope":99839,"src":"41671:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":99733,"name":"bool","nodeType":"ElementaryTypeName","src":"41671:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":99744,"initialValue":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":99743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99735,"name":"execRootPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99723,"src":"41688:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parent","nodeType":"MemberAccess","referencedDeclaration":100886,"src":"41688:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_userDefinedValueType$_Position_$103269_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (Position)"}},"id":99737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41688:20:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"41688:24:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41688:26:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99740,"name":"outputPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99726,"src":"41718:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"41718:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41718:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"41688:45:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"41671:62:164"},{"condition":{"id":99745,"name":"wasAttack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99734,"src":"42228:9:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":99837,"nodeType":"Block","src":"42977:282:164","statements":[{"assignments":[99803],"declarations":[{"constant":false,"id":99803,"mutability":"mutable","name":"disputed","nameLocation":"43009:8:164","nodeType":"VariableDeclaration","scope":99837,"src":"42991:26:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":99802,"nodeType":"UserDefinedTypeName","pathNode":{"id":99801,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"42991:9:164"},"referencedDeclaration":100523,"src":"42991:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":99816,"initialValue":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":99811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99807,"name":"outputPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99726,"src":"43053:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"43053:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43053:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":99810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43071:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43053:19:164","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":99805,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103269,"src":"43039:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Position_$103269_$","typeString":"type(Position)"}},"id":99806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"43039:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint128) pure returns (Position)"}},"id":99812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43039:34:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":99813,"name":"claimIdx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99657,"src":"43075:8:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":99814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43085:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":99804,"name":"_findTraceAncestor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99638,"src":"43020:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Position_$103269_$_t_uint256_$_t_bool_$returns$_t_struct$_ClaimData_$100523_storage_ptr_$","typeString":"function (Position,uint256,bool) view returns (struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":99815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43020:70:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"42991:99:164"},{"expression":{"id":99825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":99817,"name":"startingClaim_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99645,"src":"43105:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99818,"name":"startingPos_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99648,"src":"43121:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99819,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"43104:30:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"expression":{"id":99820,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"43138:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claim","nodeType":"MemberAccess","referencedDeclaration":100516,"src":"43138:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"expression":{"id":99822,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"43151:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"43151:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99824,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43137:29:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position)"}},"src":"43104:62:164","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99826,"nodeType":"ExpressionStatement","src":"43104:62:164"},{"expression":{"id":99835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":99827,"name":"disputedClaim_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99651,"src":"43181:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99828,"name":"disputedPos_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99654,"src":"43197:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99829,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"43180:30:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"expression":{"id":99830,"name":"disputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99803,"src":"43214:8:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99831,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claim","nodeType":"MemberAccess","referencedDeclaration":100516,"src":"43214:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"expression":{"id":99832,"name":"disputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99803,"src":"43230:8:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"43230:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99834,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43213:35:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position)"}},"src":"43180:68:164","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99836,"nodeType":"ExpressionStatement","src":"43180:68:164"}]},"id":99838,"nodeType":"IfStatement","src":"42224:1035:164","trueBody":{"id":99800,"nodeType":"Block","src":"42239:732:164","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":99750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99746,"name":"outputPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99726,"src":"42540:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"indexAtDepth","nodeType":"MemberAccess","referencedDeclaration":100850,"src":"42540:22:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42540:24:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":99749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42567:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42540:28:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":99788,"nodeType":"Block","src":"42794:91:164","statements":[{"expression":{"id":99786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99778,"name":"startingClaim_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99645,"src":"42812:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":99781,"name":"startingOutputRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97811,"src":"42840:18:164","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$103283_storage","typeString":"struct OutputRoot storage ref"}},"id":99782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"root","nodeType":"MemberAccess","referencedDeclaration":103280,"src":"42840:23:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":99783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101111,"src":"42840:27:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hash_$103253_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Hash) pure returns (bytes32)"}},"id":99784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42840:29:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":99779,"name":"Claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103255,"src":"42829:5:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Claim_$103255_$","typeString":"type(Claim)"}},"id":99780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"42829:10:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Claim_$103255_$","typeString":"function (bytes32) pure returns (Claim)"}},"id":99785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42829:41:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"src":"42812:58:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"id":99787,"nodeType":"ExpressionStatement","src":"42812:58:164"}]},"id":99789,"nodeType":"IfStatement","src":"42536:349:164","trueBody":{"id":99777,"nodeType":"Block","src":"42570:218:164","statements":[{"assignments":[99753],"declarations":[{"constant":false,"id":99753,"mutability":"mutable","name":"starting","nameLocation":"42606:8:164","nodeType":"VariableDeclaration","scope":99777,"src":"42588:26:164","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"},"typeName":{"id":99752,"nodeType":"UserDefinedTypeName","pathNode":{"id":99751,"name":"ClaimData","nodeType":"IdentifierPath","referencedDeclaration":100523,"src":"42588:9:164"},"referencedDeclaration":100523,"src":"42588:9:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData"}},"visibility":"internal"}],"id":99766,"initialValue":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":99761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99757,"name":"outputPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99726,"src":"42650:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"42650:13:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42650:15:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":99760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42668:1:164","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"42650:19:164","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":99755,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103269,"src":"42636:8:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Position_$103269_$","typeString":"type(Position)"}},"id":99756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"42636:13:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint128_$returns$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint128) pure returns (Position)"}},"id":99762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42636:34:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":99763,"name":"claimIdx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99657,"src":"42672:8:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":99764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42682:4:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":99754,"name":"_findTraceAncestor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99638,"src":"42617:18:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Position_$103269_$_t_uint256_$_t_bool_$returns$_t_struct$_ClaimData_$100523_storage_ptr_$","typeString":"function (Position,uint256,bool) view returns (struct IFaultDisputeGame.ClaimData storage pointer)"}},"id":99765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42617:70:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"42588:99:164"},{"expression":{"id":99775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":99767,"name":"startingClaim_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99645,"src":"42706:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99768,"name":"startingPos_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99648,"src":"42722:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99769,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"42705:30:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"expression":{"id":99770,"name":"starting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99753,"src":"42739:8:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claim","nodeType":"MemberAccess","referencedDeclaration":100516,"src":"42739:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"expression":{"id":99772,"name":"starting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99753,"src":"42755:8:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"42755:17:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99774,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42738:35:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position)"}},"src":"42705:68:164","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99776,"nodeType":"ExpressionStatement","src":"42705:68:164"}]}},{"expression":{"id":99798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":99790,"name":"disputedClaim_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99651,"src":"42899:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99791,"name":"disputedPos_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99654,"src":"42915:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99792,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"42898:30:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"expression":{"id":99793,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"42932:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"claim","nodeType":"MemberAccess","referencedDeclaration":100516,"src":"42932:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"expression":{"id":99795,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99662,"src":"42945:5:164","typeDescriptions":{"typeIdentifier":"t_struct$_ClaimData_$100523_storage_ptr","typeString":"struct IFaultDisputeGame.ClaimData storage pointer"}},"id":99796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"position","nodeType":"MemberAccess","referencedDeclaration":100519,"src":"42945:14:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"id":99797,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42931:29:164","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position)"}},"src":"42898:62:164","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99799,"nodeType":"ExpressionStatement","src":"42898:62:164"}]}}]},"documentation":{"id":99639,"nodeType":"StructuredDocumentation","src":"39288:504:164","text":"@notice Finds the starting and disputed output root for a given `ClaimData` within the DAG. This\n         `ClaimData` must be below the `SPLIT_DEPTH`.\n @param _start The index within `claimData` of the claim to start searching from.\n @return startingClaim_ The starting output root claim.\n @return startingPos_ The starting output root position.\n @return disputedClaim_ The disputed output root claim.\n @return disputedPos_ The disputed output root position."},"implemented":true,"kind":"function","modifiers":[],"name":"_findStartingAndDisputedOutputs","nameLocation":"39806:31:164","parameters":{"id":99642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99641,"mutability":"mutable","name":"_start","nameLocation":"39846:6:164","nodeType":"VariableDeclaration","scope":99840,"src":"39838:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99640,"name":"uint256","nodeType":"ElementaryTypeName","src":"39838:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39837:16:164"},"returnParameters":{"id":99655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99645,"mutability":"mutable","name":"startingClaim_","nameLocation":"39907:14:164","nodeType":"VariableDeclaration","scope":99840,"src":"39901:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99644,"nodeType":"UserDefinedTypeName","pathNode":{"id":99643,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"39901:5:164"},"referencedDeclaration":103255,"src":"39901:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":99648,"mutability":"mutable","name":"startingPos_","nameLocation":"39932:12:164","nodeType":"VariableDeclaration","scope":99840,"src":"39923:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99647,"nodeType":"UserDefinedTypeName","pathNode":{"id":99646,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"39923:8:164"},"referencedDeclaration":103269,"src":"39923:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"},{"constant":false,"id":99651,"mutability":"mutable","name":"disputedClaim_","nameLocation":"39952:14:164","nodeType":"VariableDeclaration","scope":99840,"src":"39946:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99650,"nodeType":"UserDefinedTypeName","pathNode":{"id":99649,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"39946:5:164"},"referencedDeclaration":103255,"src":"39946:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":99654,"mutability":"mutable","name":"disputedPos_","nameLocation":"39977:12:164","nodeType":"VariableDeclaration","scope":99840,"src":"39968:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99653,"nodeType":"UserDefinedTypeName","pathNode":{"id":99652,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"39968:8:164"},"referencedDeclaration":103269,"src":"39968:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"src":"39900:90:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":99875,"nodeType":"FunctionDefinition","src":"43519:319:164","nodes":[],"body":{"id":99874,"nodeType":"Block","src":"43602:236:164","nodes":[],"statements":[{"assignments":[99851,99854,99857,99860],"declarations":[{"constant":false,"id":99851,"mutability":"mutable","name":"starting","nameLocation":"43619:8:164","nodeType":"VariableDeclaration","scope":99874,"src":"43613:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99850,"nodeType":"UserDefinedTypeName","pathNode":{"id":99849,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"43613:5:164"},"referencedDeclaration":103255,"src":"43613:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":99854,"mutability":"mutable","name":"startingPos","nameLocation":"43638:11:164","nodeType":"VariableDeclaration","scope":99874,"src":"43629:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99853,"nodeType":"UserDefinedTypeName","pathNode":{"id":99852,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"43629:8:164"},"referencedDeclaration":103269,"src":"43629:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"},{"constant":false,"id":99857,"mutability":"mutable","name":"disputed","nameLocation":"43657:8:164","nodeType":"VariableDeclaration","scope":99874,"src":"43651:14:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99856,"nodeType":"UserDefinedTypeName","pathNode":{"id":99855,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"43651:5:164"},"referencedDeclaration":103255,"src":"43651:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":99860,"mutability":"mutable","name":"disputedPos","nameLocation":"43676:11:164","nodeType":"VariableDeclaration","scope":99874,"src":"43667:20:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99859,"nodeType":"UserDefinedTypeName","pathNode":{"id":99858,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"43667:8:164"},"referencedDeclaration":103269,"src":"43667:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"id":99864,"initialValue":{"arguments":[{"id":99862,"name":"_claimIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99843,"src":"43735:11:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99861,"name":"_findStartingAndDisputedOutputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99840,"src":"43703:31:164","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (uint256) view returns (Claim,Position,Claim,Position)"}},"id":99863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43703:44:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$","typeString":"tuple(Claim,Position,Claim,Position)"}},"nodeType":"VariableDeclarationStatement","src":"43612:135:164"},{"expression":{"id":99872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99865,"name":"uuid_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99847,"src":"43757:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99867,"name":"starting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99851,"src":"43786:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99868,"name":"startingPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99854,"src":"43796:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":99869,"name":"disputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99857,"src":"43809:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99870,"name":"disputedPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99860,"src":"43819:11:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}],"id":99866,"name":"_computeLocalContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99926,"src":"43765:20:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$_t_userDefinedValueType$_Claim_$103255_$_t_userDefinedValueType$_Position_$103269_$returns$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (Claim,Position,Claim,Position) pure returns (Hash)"}},"id":99871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43765:66:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"src":"43757:74:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":99873,"nodeType":"ExpressionStatement","src":"43757:74:164"}]},"documentation":{"id":99841,"nodeType":"StructuredDocumentation","src":"43271:243:164","text":"@notice Finds the local context hash for a given claim index that is present in an execution trace subgame.\n @param _claimIndex The index of the claim to find the local context hash for.\n @return uuid_ The local context hash."},"implemented":true,"kind":"function","modifiers":[],"name":"_findLocalContext","nameLocation":"43528:17:164","parameters":{"id":99844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99843,"mutability":"mutable","name":"_claimIndex","nameLocation":"43554:11:164","nodeType":"VariableDeclaration","scope":99875,"src":"43546:19:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99842,"name":"uint256","nodeType":"ElementaryTypeName","src":"43546:7:164","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43545:21:164"},"returnParameters":{"id":99848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99847,"mutability":"mutable","name":"uuid_","nameLocation":"43595:5:164","nodeType":"VariableDeclaration","scope":99875,"src":"43590:10:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"},"typeName":{"id":99846,"nodeType":"UserDefinedTypeName","pathNode":{"id":99845,"name":"Hash","nodeType":"IdentifierPath","referencedDeclaration":103253,"src":"43590:4:164"},"referencedDeclaration":103253,"src":"43590:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"visibility":"internal"}],"src":"43589:12:164"},"scope":99927,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":99926,"nodeType":"FunctionDefinition","src":"44205:616:164","nodes":[],"body":{"id":99925,"nodeType":"Block","src":"44416:405:164","nodes":[],"statements":[{"expression":{"id":99923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99894,"name":"uuid_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99892,"src":"44614:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":99899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":99895,"name":"_startingPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99882,"src":"44622:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"id":99896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":101017,"src":"44622:16:164","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Position_$103269_$returns$_t_uint128_$bound_to$_t_userDefinedValueType$_Position_$103269_$","typeString":"function (Position) pure returns (uint128)"}},"id":99897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44622:18:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":99898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44644:1:164","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"44622:23:164","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"arguments":[{"id":99915,"name":"_starting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99879,"src":"44763:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99916,"name":"_startingPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99882,"src":"44774:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},{"id":99917,"name":"_disputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99885,"src":"44788:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99918,"name":"_disputedPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99888,"src":"44799:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}],"expression":{"id":99913,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44752:3:164","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":99914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"44752:10:164","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":99919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44752:60:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":99912,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"44742:9:164","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":99920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44742:71:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":99910,"name":"Hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103253,"src":"44732:4:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hash_$103253_$","typeString":"type(Hash)"}},"id":99911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"44732:9:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (bytes32) pure returns (Hash)"}},"id":99921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44732:82:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":99922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"44622:192:164","trueExpression":{"arguments":[{"arguments":[{"arguments":[{"id":99905,"name":"_disputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99885,"src":"44691:9:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},{"id":99906,"name":"_disputedPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99888,"src":"44702:12:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}],"expression":{"id":99903,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44680:3:164","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":99904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"44680:10:164","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":99907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44680:35:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":99902,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"44670:9:164","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":99908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44670:46:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":99900,"name":"Hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103253,"src":"44660:4:164","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hash_$103253_$","typeString":"type(Hash)"}},"id":99901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"44660:9:164","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Hash_$103253_$","typeString":"function (bytes32) pure returns (Hash)"}},"id":99909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44660:57:164","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"src":"44614:200:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"id":99924,"nodeType":"ExpressionStatement","src":"44614:200:164"}]},"documentation":{"id":99876,"nodeType":"StructuredDocumentation","src":"43844:356:164","text":"@notice Computes the local context hash for a set of starting/disputed claim values and positions.\n @param _starting The starting claim.\n @param _startingPos The starting claim's position.\n @param _disputed The disputed claim.\n @param _disputedPos The disputed claim's position.\n @return uuid_ The local context hash."},"implemented":true,"kind":"function","modifiers":[],"name":"_computeLocalContext","nameLocation":"44214:20:164","parameters":{"id":99889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99879,"mutability":"mutable","name":"_starting","nameLocation":"44250:9:164","nodeType":"VariableDeclaration","scope":99926,"src":"44244:15:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99878,"nodeType":"UserDefinedTypeName","pathNode":{"id":99877,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"44244:5:164"},"referencedDeclaration":103255,"src":"44244:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":99882,"mutability":"mutable","name":"_startingPos","nameLocation":"44278:12:164","nodeType":"VariableDeclaration","scope":99926,"src":"44269:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99881,"nodeType":"UserDefinedTypeName","pathNode":{"id":99880,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"44269:8:164"},"referencedDeclaration":103269,"src":"44269:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"},{"constant":false,"id":99885,"mutability":"mutable","name":"_disputed","nameLocation":"44306:9:164","nodeType":"VariableDeclaration","scope":99926,"src":"44300:15:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"},"typeName":{"id":99884,"nodeType":"UserDefinedTypeName","pathNode":{"id":99883,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":103255,"src":"44300:5:164"},"referencedDeclaration":103255,"src":"44300:5:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$103255","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":99888,"mutability":"mutable","name":"_disputedPos","nameLocation":"44334:12:164","nodeType":"VariableDeclaration","scope":99926,"src":"44325:21:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"},"typeName":{"id":99887,"nodeType":"UserDefinedTypeName","pathNode":{"id":99886,"name":"Position","nodeType":"IdentifierPath","referencedDeclaration":103269,"src":"44325:8:164"},"referencedDeclaration":103269,"src":"44325:8:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Position_$103269","typeString":"Position"}},"visibility":"internal"}],"src":"44234:118:164"},"returnParameters":{"id":99893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99892,"mutability":"mutable","name":"uuid_","nameLocation":"44405:5:164","nodeType":"VariableDeclaration","scope":99926,"src":"44400:10:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"},"typeName":{"id":99891,"nodeType":"UserDefinedTypeName","pathNode":{"id":99890,"name":"Hash","nodeType":"IdentifierPath","referencedDeclaration":103253,"src":"44400:4:164"},"referencedDeclaration":103253,"src":"44400:4:164","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$103253","typeString":"Hash"}},"visibility":"internal"}],"src":"44399:12:164"},"scope":99927,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":97711,"name":"IFaultDisputeGame","nodeType":"IdentifierPath","referencedDeclaration":100608,"src":"1025:17:164"},"id":97712,"nodeType":"InheritanceSpecifier","src":"1025:17:164"},{"baseName":{"id":97713,"name":"Clone","nodeType":"IdentifierPath","referencedDeclaration":60963,"src":"1044:5:164"},"id":97714,"nodeType":"InheritanceSpecifier","src":"1044:5:164"},{"baseName":{"id":97715,"name":"ISemver","nodeType":"IdentifierPath","referencedDeclaration":109417,"src":"1051:7:164"},"id":97716,"nodeType":"InheritanceSpecifier","src":"1051:7:164"}],"canonicalName":"FaultDisputeGame","contractDependencies":[],"contractKind":"contract","documentation":{"id":97710,"nodeType":"StructuredDocumentation","src":"900:96:164","text":"@title FaultDisputeGame\n @notice An implementation of the `IFaultDisputeGame` interface."},"fullyImplemented":true,"linearizedBaseContracts":[99927,109417,60963,100608,100327,100616],"name":"FaultDisputeGame","nameLocation":"1005:16:164","scope":99928,"usedErrors":[103117,103120,103123,103126,103129,103135,103138,103144,103147,103150,103153,103156,103159,103162,103168,103171,103174,103177,103180,103183,103186,103189,103192]}],"license":"MIT"},"id":164}